視覺SLAM十四講:從理論到實踐(第2版) 版權信息
- ISBN:9787121369421
- 條形碼:9787121369421 ; 978-7-121-36942-1
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
視覺SLAM十四講:從理論到實踐(第2版) 本書特色
本書系統介紹了視覺 SLAM(同時定位與地圖構建)所需的基本知識與核心算法,既包括數學理論基礎,如三維空間的剛體運動、非線性優化,又包括計算機視覺的算法實現,例如多視圖幾何、回環檢測等。此外,我們還提供了大量的實例代碼供讀者學習研究,從而更深入地掌握這些內容。本書可以作為對 SLAM 感興趣的研究人員的入門自學材料,也可以作為 SLAM 相關的高校本科生或研究生課程教材使用。
視覺SLAM十四講:從理論到實踐(第2版) 內容簡介
本書系統介紹了視覺 SLAM(同時定位與地圖構建)所需的基本知識與核心算法,既包括數學理論基礎,如三維空間的剛體運動、非線性優化,又包括計算機視覺的算法實現,例如多視圖幾何、回環檢測等。此外,我們還提供了大量的實例代碼供讀者學習研究,從而更深入地掌握這些內容。本書可以作為對 SLAM 感興趣的研究人員的入門自學材料,也可以作為 SLAM 相關的高校本科生或研究生課程教材使用。
視覺SLAM十四講:從理論到實踐(第2版) 目錄
第 1 講 預備知識 1
1.1 本書講什么 1
1.2 如何使用本書 3
1.2.1 組織方式 3
1.2.2 代碼 5
1.2.3 面向的讀者 6
1.3 風格約定 6
1.4 致謝和聲明 8
第 1 部分 數學基礎 10
第 2 講 初識 SLAM 11
2.1 引子:小蘿卜的例子 13
2.2 經典視覺 SLAM 框架 19
2.2.1 視覺里程計 20
2.2.2 后端優化 21
2.2.3 回環檢測 22
2.2.4 建圖 23
2.3 SLAM 問題的數學表述 24
2.4 實踐:編程基礎 27
2.4.1 安裝 Linux 操作系統 27
2.4.2 Hello SLAM 29
2.4.3 使用 cmake 30
2.4.4 使用庫 32
2.4.5 使用 IDE 35
第 3 講 三維空間剛體運動 40
3.1 旋轉矩陣 42
3.1.1 點、向量和坐標系 42
3.1.2 坐標系間的歐氏變換 43
3.1.3 變換矩陣與齊次坐標 46
3.2 實踐:Eigen 47
3.3 旋轉向量和歐拉角 53
3.3.1 旋轉向量 53
3.3.2 歐拉角 54
3.4 四元數 56
3.4.1 四元數的定義 56
3.4.2 四元數的運算 57
3.4.3 用四元數表示旋轉 59
3.4.4 四元數到其他旋轉表示的轉換 59
3.5 * 相似、仿射、射影變換 61
3.6 實踐:Eigen 幾何模塊 62
3.6.1 Eigen 幾何模塊的數據演示 62
3.6.2 實際的坐標變換例子 64
3.7 可視化演示 66
3.7.1 顯示運動軌跡 66
3.7.2 顯示相機的位姿 69
第 4 講 李群與李代數 71
4.1 李群與李代數基礎 73
4.1.1 群 73
4.1.2 李代數的引出 74
4.1.3 李代數的定義 76
4.1.4 李代數 so(3) 76
4.1.5 李代數 se(3) 77
4.2 指數與對數映射 78
4.2.1 SO(3) 上的指數映射 78
4.2.2 SE(3) 上的指數映射 80
4.3 李代數求導與擾動模型 81
4.3.1 BCH 公式與近似形式 81
4.3.2 SO(3) 上的李代數求導 83
4.3.3 李代數求導 84
4.3.4 擾動模型(左乘)85
4.3.5 SE(3) 上的李代數求導 85
4.4 實踐:Sophus 86
4.4.1 Sophus 的基本使用方法 86
4.4.2 例子:評估軌跡的誤差 89
4.5 * 相似變換群與李代數 92
4.6 小結 93
第 5 講 相機與圖像 95
5.1 相機模型 97
5.1.1 針孔相機模型 97
5.1.2 畸變模型 100
5.1.3 雙目相機模型 103
5.1.4 RGB-D 相機模型 104
5.2 圖像 106
5.3 實踐:計算機中的圖像 107
5.3.1 OpenCV 的基本使用方法 107
5.3.2 圖像去畸變 112
5.4 實踐:3D 視覺 113
5.4.1 雙目視覺 113
5.4.2 RGB-D 視覺 115
第 6 講 非線性優化 119
6.1 狀態估計問題 121
6.1.1 批量狀態估計與*大后驗估計 121
6.1.2 *小二乘的引出 123
6.1.3 例子:批量狀態估計 125
6.2 非線性*小二乘 126
6.2.1 一階和二階梯度法 127
6.2.2 高斯牛頓法 128
6.2.3 列文伯格—馬夸爾特方法130
6.3 實踐:曲線擬合問題 132
6.3.1 手寫高斯牛頓法 132
6.3.2 使用 Ceres 進行曲線擬合 136
6.3.3 使用 g2o 進行曲線擬合 141
6.4 小結 148
第 2 部分 實踐應用 150
第 7 講 視覺里程計 1 151
7.1 特征點法 153
7.1.1 特征點 153
7.1.2 ORB 特征 155
7.1.3 特征匹配 158
7.2 實踐:特征提取和匹配 159
7.2.1 OpenCV 的 ORB 特征 159
7.2.2 手寫 ORB 特征 162
7.2.3 計算相機運動 165
7.3 2D-2D:對極幾何 165
7.3.1 對極約束 165
7.3.2 本質矩陣 168
7.3.3 單應矩陣 170
7.4 實踐:對極約束求解相機運動 172
7.5 三角測量 177
7.6 實踐:三角測量 178
7.6.1 三角測量代碼 178
7.6.2 討論 179
7.7 3D?2D:PnP 180
7.7.1 直接線性變換 180
7.7.2 P3P 182
7.7.3 *小化重投影誤差求解 PnP 184
7.8 實踐:求解 PnP 188
7.8.1 使用 EPnP 求解位姿 188
7.8.2 手寫位姿估計 189
7.8.3 使用 g2o 進行 BA 優化 191
7.9 3D-3D:ICP 196
7.9.1 SVD 方法 196
7.9.2 非線性優化方法 198
7.10 實踐:求解 ICP 199
7.10.1 實踐:SVD 方法 199
7.10.2 實踐:非線性優化方法 201
7.11 小結 203
第 8 講 視覺里程計 2 205
8.1 直接法的引出 207
8.2 2D 光流 208
8.3 實踐:LK 光流 210
8.3.1 使用 LK 光流 210
8.3.2 用高斯牛頓法實現光流 211
8.3.3 光流實踐小結 218
8.4 直接法 218
8.4.1 直接法的推導 218
8.4.2 直接法的討論 221
8.5 實踐:直接法 221
8.5.1 單層直接法 221
8.5.2 多層直接法 226
8.5.3 結果討論 227
8.5.4 直接法優缺點總結 230
第 9 講 后端 1 232
9.1 概述 234
9.1.1 狀態估計的概率解釋 234
9.1.2 線性系統和 KF 236
9.1.3 非線性系統和 EKF 239
9.1.4 EKF 的討論 241
9.2 BA 與圖優化 242
9.2.1 投影模型和 BA 代價函數 242
9.2.2 BA 的求解 243
9.2.3 稀疏性和邊緣化 245
9.2.4 魯棒核函數 251
9.3 實踐:Ceres BA 253
9.3.1 BAL 數據集 253
9.3.2 Ceres BA 的書寫 253
9.4 實踐:g2o 求解 BA 257
9.5 小結 263
第 10 講 后端 2 265
10.1 滑動窗口濾波和優化 266
10.1.1 實際環境下的 BA 結構 266
10.1.2 滑動窗口法 267
10.2 位姿圖 270
10.2.1 位姿圖的意義 270
10.2.2 位姿圖的優化 270
10.3 實踐:位姿圖優化 272
10.3.1 g2o 原生位姿圖 272
10.3.2 李代數上的位姿圖優化 277
10.3.3 小結 282
第 11 講 回環檢測 283
11.1 概述 285
11.1.1 回環檢測的意義 285
11.1.2 回環檢測的方法 286
11.1.3 準確率和召回率 287
11.2 詞袋模型 289
11.3 字典 291
11.3.1 字典的結構 291
11.3.2 實踐:創建字典 292
11.4 相似度計算 295
11.4.1 理論部分 295
11.4.2 實踐:相似度的計算 296
11.5 實驗分析與評述 300
11.5.1 增加字典規模 300
11.5.2 相似性評分的處理 302
11.5.3 關鍵幀的處理 302
11.5.4 檢測之后的驗證 303
11.5.5 與機器學習的關系 303
第 12 講 建圖305
12.1 概述 306
12.2 單目稠密重建 308
12.2.1 立體視覺 308
12.2.2 極線搜索與塊匹配 309
12.2.3 高斯分布的深度濾波器 311
12.3 實踐:單目稠密重建 314
12.3.1 實驗分析與討論 323
12.3.2 像素梯度的問題 324
12.3.3 逆深度 325
12.3.4 圖像間的變換 326
12.3.5 并行化:效率的問題 327
12.3.6 其他的改進 327
12.4 RGB-D 稠密建圖 328
12.4.1 實踐:點云地圖 328
12.4.2 從點云重建網格 333
12.4.3 八叉樹地圖 336
12.4.4 實踐:八叉樹地圖 338
12.5 * TSDF 地圖和 Fusion 系列 340
12.6 小結 343
第 13 講 實踐:設計 SLAM 系統 345
13.1 為什么要單獨列工程章節 346
13.2 工程框架 347
13.3 實現 349
13.3.1 實現基本數據結構 349
13.3.2 前端 354
13.3.3 后端 357
13.4 實驗效果 361
第 14 講 SLAM:現在與未來 363
14.1 當前的開源方案 364
14.1.1 MonoSLAM 364
14.1.2 PTAM 365
14.1.3 ORB-SLAM 366
14.1.4 LSD-SLAM 369
14.1.5 SVO 370
14.1.6 RTAB-MAP 371
14.1.7 其他 372
14.2 未來的 SLAM 話題 372
14.2.1 視覺 慣性導航 SLAM 373
14.2.2 語義 SLAM 374
14.2.3 SLAM 的未來 375
附錄 A 高斯分布的性質 377
附錄 B 矩陣求導 380
附錄 C ROS 入門 382
參考文獻 385
展開全部
視覺SLAM十四講:從理論到實踐(第2版) 作者簡介
高翔,清華大學自動化系博士,慕尼黑工業大學博士后。研究興趣主要為計算機視覺、定位與建圖、機器學習等,主要著、譯作包括《視覺SLAM十四講:從理論到實踐》、《機器人學中的狀態估計》,在RAS、Auto Robotics、IROS等期刊會議上發表論文,現從事自動駕駛車輛研發工作。