日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2021-03-15 深入理解SLAM技术【1】 基础知识

發布時間:2025/3/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2021-03-15 深入理解SLAM技术【1】 基础知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 啥是SLAM?

SLAM是真正的3d技術,是解決移動車輛的定位和動態地圖生成的問題的。比如說,你要構造一個自主機器人,能實現路面行走,障礙規避,而且理解三維透視場景,甚至將這種場景翻譯成幾何場景,以及,走過的路如何動態生成記憶(MAP)。這統統需要SLAM技術。

2 SLAM的技術背景?

計算機視覺的研究目前主要分為兩大方向:基于學習的方法和基于幾何的方法。其中基于學習的方法最火的就是深度學習,而基于幾何方法最火的就是視覺SLAM。

3 SLAM技術的應用場合

常見的有:1)自主機器人 2)自動駕駛? 3)虛擬場景 4)三維重構 ? 5)無人機技術

4 學習SLAM的數學背景

基礎知識有:1)矩陣論。2)李群李代數。3)非線性優化問題。(比如梯度下降、牛頓法、高斯-牛頓法、LM算法、bundle adjustment等)。4)還有泰勒展開,求(偏)導,積分等。

5 學習SLAM的計算機技術

SLAM里涉及很多圖像處理、計算機視覺知識 :

1)圖像處理相關。比如和特征點相關的有:特征點描述子、特征點提取、特征點匹配。圖像梯度計算、邊緣檢測、直線檢測等。

2)相機相關:單目、雙目、RGB-D等相機的物理參數意義、相機成像模型、相機的標定、去畸變等。雙目的話還涉及到視差計算,RGB-D的話涉及到RGB和depth圖像的對齊等。

3)多視角幾何相關。比如對極約束、本質矩陣、單應矩陣、光流估計、三角化等。

6 軟件環境

1)電腦環境:Linux環境,推薦Ubuntu16.04。

2)編程語言:主要是C++。推薦紅寶書《C++ Primer》。

3)集成開發環境:CLion(用edu結尾郵箱可以申請免費使用一年)、kdevelop(免費),個人覺得前者好用一點。

4)編譯工具:cmake。統一使用cmake編譯,好處很多,比如代碼可以很方便的跨平臺使用等。使用起來也很方便。有個小冊子《CMake practice》照著學一下。

5)文檔編輯:有很多,比如gedit、Nano、vim等。

6)開發庫:使用到的第三方庫主要包括:OpenCV(計算機視覺),OpenGL(計算機圖形學),Eigen(幾何變換),Sophus(李代數),Ceres(非線性優化),G2o(圖優化)等。

7 行業開源代碼

該行業的開源代碼如下,不妨作為初學者拐杖先用著。

稀疏法:
ORB-SLAM2:支持單目,雙目,RGB-D相機
https://github.com/raulmur/ORB_SLAM2

半稠密法:
LSD-SLAM:支持單目,雙目,RGB-D相機
https://vision.in.tum.de/research/vslam/lsdslam

DSO:單目
https://vision.in.tum.de/research/vslam/dso

稠密法
Elastic Fusion:RGB-D相機
https://github.com/mp3guy/ElasticFusion

BundleFusion:RGB-D相機
https://github.com/niessner/BundleFusion

RGB-D SLAM V2:RGB-D相機
https://github.com/felixendres/rgbdslam_v2

多傳感器融合:
VINS:單目 + IMU(慣性測量單元)
https://github.com/HKUST-Aerial-Robotics/VINS-Mono

OKVIS:(單目、雙目、四目)+ IMU
https://wp.doc.ic.ac.uk/sleutene/2016/02/04/release-of-okvis-open-keyframe-based-visual-inertial-slam/

8 行業數據集

主要列舉幾個主流的數據集
1、TUM RGB-D SLAM Dataset and Benchmark

德國慕尼黑理工大學計算機視覺組制作的數據集,使用Kinect相機采集的數據集,包括IMU數據,并且用高精度運動采集系統提供了groundtruth(真值)。提供測試腳本,可以方便的實現量化評估。
https://vision.in.tum.de/data/datasets/rgbd-dataset

2、KITTI Vision Benchmark Suite

德國卡爾斯魯厄理工學院和豐田工業大學芝加哥分校一起合作制作的用于自動駕駛的數據集。

使用一輛改裝的汽車采集,該車配備了兩臺高分辨率彩色和灰度攝像機,還有Velodyne激光掃描儀和GPS定位系統,用來提供精確的groundtruth。主要采集區域是卡爾斯魯厄市區、農村地區和高速公路。提供測試腳本可以方便的實現量化評估。
http://www.cvlibs.net/datasets/kitti/

3、EuRoC MAV Dataset

蘇黎世聯邦理工大學制作的數據集,采用裝備了雙目相機和IMU的四旋翼無人機采集數據,使用高精度運動采集系統提供了groundtruth。提供測試腳本,可以方便的實現量化評估。

https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets

9 結束語

好了,以上介紹了學習SLAM的相關知識,有興趣的同學們,就自己準備環境,等待解決吧。

?

*參考技術

SLAM濾波 :參考文章

SLAM綜述:SLAM應用現狀

?

?

?

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的2021-03-15 深入理解SLAM技术【1】 基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。