視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論

程小六 編著

  • 視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-1
  • 視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-2
  • 視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-3
  • 視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-4
  • 視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-5
  • 視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-6
  • 視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-7
  • 視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-8
  • 視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-9
  • 視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-10
  • 視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-11
  • 視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-12
  • 視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-13
  • 視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-14
  • 視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-15
視覺慣性 SLAM 實作 - 原始程式剖析真正讀懂理論-preview-1

買這商品的人也買了...

商品描述

從未知環境中的定位、地圖建構到處理意外情況,

▶▶▶ SLAM技術一次完整到位學習!

 

SLAM 是指移動智慧體從一個未知環境裡的未知地點出發,在運動過程中透過自身感測器觀測周圍環境,並根據環境定位自身的位置,再根據自身的位置進行增量式的地圖建構,從而達到同時定位和地圖建構的目的。舉凡機器人、無人機、汽車,或其它可穿戴裝置等,都可以運用SLAM在其中。

本書分為三大部分,深入淺出地介紹SLAM技術。

第一部分涵蓋SLAM的基礎知識,包括定義、應用場景、程式設計及編譯工具、數學基礎知識、相機成像模型、對極幾何以及圖最佳化函式庫的使用。

第二部分專注於視覺SLAM框架ORB-SLAM2的原理和核心程式,從ORB特徵提取、特徵匹配、地圖點、主要畫面格、圖結構到地圖初始化、追蹤執行緒、局部地圖建構執行緒、閉環執行緒以及最佳化方法。通過對ORB-SLAM2的深入剖析,讀者可以更好地理解視覺SLAM的工作原理。

第三部分則介紹ORB-SLAM2的升級版——視覺慣性系統ORB-SLAM3的主要新增內容和程式,包括IMU預積分、多地圖系統、追蹤執行緒、局部地圖建構執行緒、閉環及地圖融合執行緒。最後一章還對視覺SLAM的現在與未來進行了總結和展望。

 

【本書特點】

SLAM的定義應用場景和應用領域

C++ 11新特性和CMake工具

SLAM中常用的數學基礎知識

相機成像模型和相機扭曲模型

對極幾何的基本概念

g2o函式程式庫的使用方法

ORB特徵提取與均勻化策略

ORB-SLAM2中的特徵匹配方法

地圖點主要畫面格圖結構

ORB-SLAM2中的地圖初始化方法

ORB-SLAM2中的追蹤執行線

ORB-SLAM2中的局部地圖建構執行線

ORB-SLAM2中的閉環執行線

ORB-SLAM2中的最優化方法

ORB-SLAM3的新增容和程式IMU預積分多地圖系統等

ORB-SLAM3中的IMU預積分原理及推導

多地圖系統的效果和作用

地圖融合的具體流程和程式實現

ORB-SLAM3IMU的初始化過程

視覺SLAM的發展歷程和未來趨勢

作者簡介

程小六

  中國科學院博士。計算機視覺life平臺創始人,研究興趣為計算機視覺、機器人定位與建圖。

目錄大綱

第一部分 SLAM 基礎

 

1 章 SLAM 導覽

1.1 什麼是 SLAM

1.2 SLAM 有什麼不可替代性

1.3 SLAM 的應用領域

 

2 章 程式設計及編譯工具

2.1 C++ 新特性

2.2 CMake 入門

 

3章 SLAM 中常用的數學基礎知識

3.1 為什麼要用齊次座標

3.2 三維空間中剛體旋轉的幾種表達方式

 

4 章 相機成像模型

4.1 針孔相機成像原理

4.2 針孔相機成像模型

4.3 相機扭曲模型

 

5 章 對極幾何

5.1 對極幾何的基本概念

5.2 理解對極約束

 

6 章 圖最佳化函式庫的使用

6.1 g2o 程式設計框架

6.2 建構 g2o 頂點

6.3 建構 g2o

 

第二部分 ORB-SLAM2 理論與實作

 

7 章 ORB 特徵提取

7.1 ORB 特徵點

7.2 ORB 特徵點均勻化策略

 

8 章 ORB-SLAM2 中的特徵匹配

8.1 單目初始化中的特徵匹配

8.2 透過詞袋進行特徵匹配

8.3 透過地圖點投影進行特徵匹配

8.4 透過 Sim(3) 變換進行相互投影匹配

 

9 章 地圖點、主要畫面格和圖結構

9.1 地圖點

9.2 主要畫面格

9.3 圖結構

 

10 章 ORB-SLAM2 中的地圖初始化

10.1 為什麼需要初始化

10.2 單目模式地圖初始化

10.3 雙目模式地圖初始化

 

11 章 ORB-SLAM2 中的追蹤執行緒

11.1 參考主要畫面格

11.2 恒速模型追蹤

11.3 重定位追蹤

11.4 局部地圖追蹤

 

12 章 ORB-SLAM2 中的局部地圖建構執行緒

12.1 處理新的主要畫面格

12.2 剔除不合格的地圖點

12.3 生成新的地圖點

12.4 檢查並融合當前主要畫面格與相鄰畫面格

12.5 主要畫面格的剔除

 

13 章 ORB-SLAM2 中的閉環執行緒

13.1 什麼是閉環檢測

13.2 尋找並驗證閉環候選主要畫面格

13.3 計算 Sim(3) 變換

13.4 閉環矯正

13.5 閉環全域 BA 最佳化

 

14 章 ORB-SLAM2 中的最佳化方法

14.1 追蹤執行緒僅最佳化位姿

14.2 局部地圖建構執行緒中局部地圖最佳化

14.3 閉環執行緒中的 Sim(3) 位姿最佳化

14.4 閉環時本質圖最佳化

14.5 全域最佳化

 

第三部分 ORB-SLAM3 理論與實作

 

15 章 ORB-SLAM3 中的IMU 預積分

15.1 視覺慣性緊耦合的意義

15.2 IMU 預積分原理及推導

15.3 IMU 預積分的程式實現

 

16 章 ORB-SLAM3 中的多地圖系統

16.1 多地圖的基本概念

16.2 多地圖系統的效果和作用

16.3 建立新地圖的方法和時機

16.4 地圖融合概述

 

17 章 ORB-SLAM3 中的追蹤執行緒

17.1 追蹤執行緒流程圖

17.2 追蹤執行緒的新變化

 

18 章 ORB-SLAM3 中的局部地圖建構執行緒

18.1 局部地圖建構執行緒的作用

18.2 局部地圖建構執行緒的流程

18.3 IMU 的初始化

 

19 章 ORB-SLAM3 中的閉環及地圖融合執行緒

19.1 檢測共同區域

19.2 地圖融合

 

20 章 視覺 SLAM 的現在與未來

20.1 視覺 SLAM 的發展歷程

20.2 視覺慣性 SLAM 框架對比及資料集

20.3 未來發展趨勢

20.4 總結