關(guān)于我們
書單推薦
新書推薦
|
視覺SLAM十四講:從理論到實踐(第2版) 讀者對象:本書可以作為對 SLAM 感興趣的研究人員的入門自學材料,也可以作為 SLAM 相關(guān)的高校本科生或研究生課程教材使用。
本書系統(tǒng)介紹了視覺 SLAM(同時定位與地圖構(gòu)建)所需的基本知識與核心算法,既包括數(shù)學理論基礎(chǔ),如三維空間的剛體運動、非線性優(yōu)化,又包括計算機視覺的算法實現(xiàn),例如多視圖幾何、回環(huán)檢測等。此外,我們還提供了大量的實例代碼供讀者學習研究,從而更深入地掌握這些內(nèi)容。本書可以作為對 SLAM 感興趣的研究人員的入門自學材料,也可以作為 SLAM 相關(guān)的高校本科生或研究生課程教材使用。
高翔,清華大學自動化系博士,慕尼黑工業(yè)大學博士后。研究興趣主要為計算機視覺、定位與建圖、機器學習等,主要著、譯作包括《視覺SLAM十四講:從理論到實踐》、《機器人學中的狀態(tài)估計》,在RAS、Auto Robotics、IROS等期刊會議上發(fā)表論文,現(xiàn)從事自動駕駛車輛研發(fā)工作。
目錄
第 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 部分 數(shù)學基礎(chǔ) 10 第 2 講 初識 SLAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1 引子:小蘿卜的例子 ......................................................................................... 13 2.2 經(jīng)典視覺 SLAM 框架 ........................................................................................ 19 2.2.1 視覺里程計............................................................................................. 20 2.2.2 后端優(yōu)化................................................................................................ 21 2.2.3 回環(huán)檢測................................................................................................ 22 2.2.4 建圖....................................................................................................... 23 2.3 SLAM 問題的數(shù)學表述...................................................................................... 24 2.4 實踐:編程基礎(chǔ)................................................................................................ 27 2.4.1 安裝 Linux 操作系統(tǒng)................................................................................ 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 旋轉(zhuǎn)矩陣.......................................................................................................... 42 3.1.1 點、向量和坐標系................................................................................... 42 3.1.2 坐標系間的歐氏變換 ............................................................................... 43 3.1.3 變換矩陣與齊次坐標 ............................................................................... 46 3.2 實踐:Eigen...................................................................................................... 47 3.3 旋轉(zhuǎn)向量和歐拉角............................................................................................. 53 3.3.1 旋轉(zhuǎn)向量................................................................................................ 53 3.3.2 歐拉角 ................................................................................................... 54 3.4 四元數(shù) ............................................................................................................. 56 3.4.1 四元數(shù)的定義 ......................................................................................... 56 3.4.2 四元數(shù)的運算 ......................................................................................... 57 3.4.3 用四元數(shù)表示旋轉(zhuǎn)................................................................................... 59 3.4.4 四元數(shù)到其他旋轉(zhuǎn)表示的轉(zhuǎn)換.................................................................. 59 3.5 * 相似、仿射、射影變換.................................................................................... 61 3.6 實踐:Eigen 幾何模塊 ....................................................................................... 62 3.6.1 Eigen 幾何模塊的數(shù)據(jù)演示....................................................................... 62 3.6.2 實際的坐標變換例子 ............................................................................... 64 3.7 可視化演示....................................................................................................... 66 3.7.1 顯示運動軌跡 ......................................................................................... 66 3.7.2 顯示相機的位姿...................................................................................... 69 第 4 講 李群與李代數(shù) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.1 李群與李代數(shù)基礎(chǔ)............................................................................................. 73 4.1.1 群.......................................................................................................... 73 4.1.2 李代數(shù)的引出 ......................................................................................... 74 4.1.3 李代數(shù)的定義 ......................................................................................... 76 4.1.4 李代數(shù) so(3)........................................................................................... 76 4.1.5 李代數(shù) se(3) ........................................................................................... 77 4.2 指數(shù)與對數(shù)映射................................................................................................ 78 4.2.1 SO(3) 上的指數(shù)映射................................................................................ 78 4.2.2 SE(3) 上的指數(shù)映射 ................................................................................ 80 4.3 李代數(shù)求導與擾動模型...................................................................................... 81 4.3.1 BCH 公式與近似形式 .............................................................................. 81 4.3.2 SO(3) 上的李代數(shù)求導............................................................................. 83 4.3.3 李代數(shù)求導............................................................................................. 84 4.3.4 擾動模型(左乘)................................................................................... 85 4.3.5 SE(3) 上的李代數(shù)求導............................................................................. 85 4.4 實踐:Sophus.................................................................................................... 86 4.4.1 Sophus 的基本使用方法 ........................................................................... 86 4.4.2 例子:評估軌跡的誤差............................................................................ 89 4.5 * 相似變換群與李代數(shù) ....................................................................................... 92 4.6 小結(jié)................................................................................................................. 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 講 非線性優(yōu)化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.1 狀態(tài)估計問題 ................................................................................................... 121 6.1.1 批量狀態(tài)估計與最大后驗估計.................................................................. 121 6.1.2 最小二乘的引出...................................................................................... 123 6.1.3 例子:批量狀態(tài)估計 ............................................................................... 125 6.2 非線性最小二乘................................................................................................ 126 6.2.1 一階和二階梯度法................................................................................... 127 6.2.2 高斯牛頓法............................................................................................. 128 目錄 vii 6.2.3 列文伯格—馬夸爾特方法......................................................................... 130 6.3 實踐:曲線擬合問題 ......................................................................................... 132 6.3.1 手寫高斯牛頓法...................................................................................... 132 6.3.2 使用 Ceres 進行曲線擬合 ......................................................................... 136 6.3.3 使用 g2o 進行曲線擬合............................................................................ 141 6.4 小結(jié)................................................................................................................. 148 第 2 部分 實踐應(yīng)用 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 本質(zhì)矩陣................................................................................................ 168 7.3.3 單應(yīng)矩陣................................................................................................ 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 優(yōu)化 ............................................................................ 191 7.9 3D?3D:ICP..................................................................................................... 196 7.9.1 SVD 方法 ............................................................................................... 196 7.9.2 非線性優(yōu)化方法...................................................................................... 198 7.10 實踐:求解 ICP................................................................................................. 199 7.10.1 實踐:SVD 方法 ..................................................................................... 199 7.10.2 實踐:非線性優(yōu)化方法............................................................................ 201 7.11 小結(jié)................................................................................................................. 203 第 8 講 視覺里程計 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 8.1 直接法的引出 ................................................................................................... 207 8.2 2D 光流............................................................................................................ 208 8.3 實踐:LK 光流 ................................................................................................. 210 8.3.1 使用 LK 光流.......................................................................................... 210 8.3.2 用高斯牛頓法實現(xiàn)光流............................................................................ 211 8.3.3 光流實踐小結(jié) ......................................................................................... 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 結(jié)果討論................................................................................................ 227 8.5.4 直接法優(yōu)缺點總結(jié)................................................................................... 230 第 9 講 后端 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 9.1 概述................................................................................................................. 234 9.1.1 狀態(tài)估計的概率解釋 ............................................................................... 234 9.1.2 線性系統(tǒng)和 KF........................................................................................ 236 9.1.3 非線性系統(tǒng)和 EKF .................................................................................. 239 9.1.4 EKF 的討論 ............................................................................................ 241 9.2 BA 與圖優(yōu)化..................................................................................................... 242 9.2.1 投影模型和 BA 代價函數(shù)......................................................................... 242 9.2.2 BA 的求解.............................................................................................. 243 9.2.3 稀疏性和邊緣化...................................................................................... 245 9.2.4 魯棒核函數(shù)............................................................................................. 251 9.3 實踐:Ceres BA ................................................................................................ 253 9.3.1 BAL 數(shù)據(jù)集............................................................................................ 253 9.3.2 Ceres BA 的書寫 ..................................................................................... 253 9.4 實踐:g2o 求解 BA ........................................................................................... 257 9.5 小結(jié)................................................................................................................. 263 第 10 講 后端 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 10.1 滑動窗口濾波和優(yōu)化 ......................................................................................... 266 10.1.1 實際環(huán)境下的 BA 結(jié)構(gòu) ............................................................................ 266 10.1.2 滑動窗口法............................................................................................. 267 10.2 位姿圖 ............................................................................................................. 270 10.2.1 位姿圖的意義 ......................................................................................... 270 10.2.2 位姿圖的優(yōu)化 ......................................................................................... 270 10.3 實踐:位姿圖優(yōu)化............................................................................................. 272 10.3.1 g2o 原生位姿圖....................................................................................... 272 10.3.2 李代數(shù)上的位姿圖優(yōu)化............................................................................ 277 10.3.3 小結(jié)....................................................................................................... 282 第 11 講 回環(huán)檢測 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 11.1 概述................................................................................................................. 285 11.1.1 回環(huán)檢測的意義...................................................................................... 285 11.1.2 回環(huán)檢測的方法...................................................................................... 286 11.1.3 準確率和召回率...................................................................................... 287 11.2 詞袋模型.......................................................................................................... 289 11.3 字典................................................................................................................. 291 11.3.1 字典的結(jié)構(gòu)............................................................................................. 291 11.3.2 實踐:創(chuàng)建字典...................................................................................... 292 11.4 相似度計算....................................................................................................... 295 11.4.1 理論部分................................................................................................ 295 11.4.2 實踐:相似度的計算 ............................................................................... 296 11.5 實驗分析與評述................................................................................................ 300 11.5.1 增加字典規(guī)模 ......................................................................................... 300 11.5.2 相似性評分的處理................................................................................... 302 11.5.3 關(guān)鍵幀的處理 ......................................................................................... 302 11.5.4 檢測之后的驗證...................................................................................... 303 11.5.5 與機器學習的關(guān)系................................................................................... 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 從點云重建網(wǎng)格...................................................................................... 333 12.4.3 八叉樹地圖............................................................................................. 336 12.4.4 實踐:八叉樹地圖................................................................................... 338 12.5 * TSDF 地圖和 Fusion 系列................................................................................. 340 12.6 小結(jié)................................................................................................................. 343 第 13 講 實踐:設(shè)計 SLAM 系統(tǒng) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 13.1 為什么要單獨列工程章節(jié)................................................................................... 346 13.2 工程框架.......................................................................................................... 347 13.3 實現(xiàn)................................................................................................................. 349 13.3.1 實現(xiàn)基本數(shù)據(jù)結(jié)構(gòu)................................................................................... 349 13.3.2 前端....................................................................................................... 354 13.3.3 后端....................................................................................................... 357 13.4 實驗效果.......................................................................................................... 361 第 14 講 SLAM:現(xiàn)在與未來 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 高斯分布的性質(zhì) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 附錄 B 矩陣求導 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 附錄 C ROS 入門 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 參考文獻 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
你還可能感興趣
我要評論
|