激光雷達感知與定位 從理論到實現
申澤邦 周慶國 郅朋
商品描述
激光雷達作為自動駕駛汽車的核心傳感器之一,在自動駕駛領域發揮著至關重要的作用。本書深度挖掘激光雷達關鍵技術,介紹激光雷達的原理、應用以及發展趨勢。
本書共9章,包括激光雷達與自動駕駛的發展、激光雷達的基本工作原理、點雲編程基礎、標定、SLAM、深度學習在激光雷達中的應用等內容。本書通過深入的理論解說和實際操作示例,幫助讀者輕松開發基於激光雷達的感知與定位模塊。此外,本書還展望了激光雷達的發展趨勢及其在汽車工業中的應用前景,為自動駕駛領域的研究和發展提供了參考依據。
本書可作為希望進入自動駕駛汽車行業的汽車類、自動化類專業的學生的技術入門圖書,也可作為汽車工程師、對自動駕駛技術感興趣的讀者的參考書。
作者簡介
申澤邦
梅賽德斯奔馳研發中心高 級工程師,谷歌開 發者專 家(機器學習方向),CSDN博客專 家,蘭州大學自動駕駛團隊創辦人,著有《無人駕駛原理與實踐》一書。
周慶國
蘭州大學信息科學與工程學院教授,博士生導師。蘭州大學開源軟件與實時系統教育 部工程研究中心主任,蘭州大學分布式與嵌入式系統實驗室主任。
2005年畢業於蘭州大學,物理學博士,IET Fellow,教育 部新世紀人才基金獲得者。2011年8月任International Journal of Computational Science and Engineering (IJCSE)雜誌副主編,2013年4月International Journal of Embedded System(IJES)主編。
目前主要從事安 全關鍵系統、嵌入式系統、智能駕駛、虛擬化技術的研究,目已經在國內外學術期刊上發表一百五十四篇,其中SCI 五十三篇,EI六十三篇,獲得六項發明專利授權。2007年在PowerPC架構上實時系統的研究,獲得了IBM Real-Time Innovation Award.2009年獲得甘肅省教學成果二等獎,獲“2012年Google中國大學合作項目年度突出貢獻老師”榮譽稱號,獲2013年度Google Research Award,2018年榮獲甘肅省科技進步獎二等獎。2017年研制了甘肅省第 一輛無人駕駛試驗車,2019年1月出版《無人駕駛原理與實踐》,自出版以來,在京東的好評率達到99%,並入選“AI工程師必看的10本書”。
目錄大綱
第1章 激光雷達與自動駕駛概述 1
1.1 激光雷達與自動駕駛的概念 1
1.1.1 什麼是激光雷達 1
1.1.2 什麼是自動駕駛系統 3
1.2 激光雷達與自動駕駛的發展 4
1.2.1 早期的激光雷達 4
1.2.2 激光雷達與DARPA自動駕駛挑戰賽 6
1.3 激光雷達在自動駕駛系統和高精度地圖生產過程中的應用 7
1.3.1 自動駕駛系統的基本架構 7
1.3.2 激光雷達在自動駕駛系統中的應用 12
1.3.3 激光雷達在高精度地圖生產過程中的應用 13
1.4 激光雷達開發環境配置 14
參考文獻 15
第2章 激光雷達的基礎知識 16
2.1 激光雷達的基本工作原理 16
2.1.1 激光雷達的基本結構 16
2.1.2 激光雷達的數據 18
2.1.3 激光雷達的回波模式 21
2.1.4 激光雷達與人眼安全 22
2.2 車載激光雷達的分類 23
2.2.1 根據掃描方式分類 24
2.2.2 根據激光波長分類 26
2.3 激光雷達的關鍵性能指標和性能評估方法 27
2.3.1 激光雷達的關鍵性能指標 28
2.3.2 激光雷達的性能評估方法 30
參考文獻 34
第3章 PCL和ROS編程基礎 35
3.1 PCL編程基礎 35
3.1.1 PCL的基本概念和數據結構 35
3.1.2 PCD文件 36
3.1.3 構建第一個PCL程序 37
3.2 ROS編程基礎 46
3.2.1 ROS簡介 46
3.2.2 ROS中的基本概念 47
3.2.3 ROS命令行的常用指令 51
3.2.4 ROS項目的文件系統結構 52
3.2.5 Catkin構建工具 53
3.3 第一個PCL和ROS節點: 基於體素網格濾波的降采樣 55
3.3.1 點雲濾波 55
3.3.2 ROS C++編程實踐 56
3.3.3 構建並運行項目 65
參考文獻 69
第4章 點雲平面分割、聚類和配準 70
4.1 點雲平面分割:RANSAC算法原理和C++實踐 70
4.1.1 點雲分割概述 70
4.1.2 RANSAC算法介紹 71
4.1.3 基於RANSAC平面擬合的地面點濾除ROS實戰 76
4.2 歐幾裏得點雲聚類算法和C++實踐 84
4.2.1 k-d樹:一種用於最近鄰搜索的數據結構 84
4.2.2 歐幾裏得聚類方法 89
4.2.3 點雲歐幾裏得聚類PCL與ROS實踐 92
4.3 基於正態分布變換的點雲配準 97
4.3.1 點雲配準 97
4.3.2 NDT算法 100
4.3.3 使用NDT算法配準兩個點雲 103
參考文獻 108
第5章 激光雷達標定原理與實踐 109
5.1 坐標系變換基礎與編程實踐 109
5.1.1 建圖、定位和感知中的坐標系 109
5.1.2 三維剛體變換的表征形式 110
5.1.3 齊次變換矩陣 113
5.1.4 Eigen編程基礎 115
5.1.5 ROS TF2編程基礎 116
5.1.6 坐標系變換編程實踐 120
5.2 多激光雷達自動標定方法與ROS實踐 126
5.2.1 多激光雷達標定和點雲配準 127
5.2.2 用於多激光雷達自動標定的樣例數據包 128
5.2.3 多激光雷達標定代碼實例 129
5.2.4 使用測試數據實踐6顆激光雷達的標定 135
5.3 激光雷達-相機聯合標定ROS實踐 138
5.3.1 相機參數標定 138
5.3.2 相機-激光雷達聯合標定算法介紹 142
5.3.3 相機-激光雷達聯合標定工具構建和使用 151
參考文獻 154
第6章 激光雷達SLAM 155
6.1 激光雷達SLAM簡介 155
6.1.1 SLAM簡介 155
6.1.2 自動駕駛中的激光雷達SLAM 156
6.2 LeGO-LOAM算法詳解和ROS實踐 158
6.2.1 LeGO-LOAM算法簡介 158
6.2.2 LeGO-LOAM算法流程 159
6.2.3 使用LeGO-LOAM算法構建點雲地圖 165
6.3 基於Scan Context的激光雷達閉環檢測方法實踐 168
6.3.1 Scan Context閉環檢測方法介紹 169
6.3.2 Scan Context閉環檢測C++實例 173
6.4 基於NDT算法的自動駕駛定位和ROS實踐 180
6.4.1 地圖數據準備 180
6.4.2 對激光雷達實時點雲的降采樣 181
6.4.3 使用NDT實現高精度定位 183
6.4.4 構建和運行NDT激光雷達定位 189
參考文獻 191
第7章 基於深度學習的激光雷達三維目標檢測 192
7.1 點雲三維目標檢測概述 192
7.1.1 三維目標檢測的背景和定義 192
7.1.2 點雲三維目標檢測的常用數據集和性能指標 195
7.1.3 點雲三維目標檢測方法的分類 197
7.2 基於VoxelNet的點雲三維目標檢測 199
7.2.1 VoxelNet的結構 199
7.2.2 VoxelNet的損失函數 203
7.3 基於PointPillars的三維目標檢測和實戰 204
7.3.1 PointPillars的特點 204
7.3.2 PointPillars結構 205
7.3.3 訓練一個PointPillars 208
參考文獻 212
第8章 基於深度學習的激光雷達點雲語義分割方法 214
8.1 自動駕駛中的點雲語義分割 214
8.1.1 點雲分割:傳統方法vs基於深度學習的方法 215
8.1.2 基於深度學習的點雲語義分割方法的分類 215
8.1.3 點雲語義分割的常用公開數據集 217
8.1.4 點雲語義分割的性能評價指標 219
8.2 基於全卷積神經網絡的點雲三維語義分割 220
8.2.1 全卷積神經網絡介紹 220
8.2.2 基於全卷積神經網絡的激光雷達三維分割 222
8.2.3 使用ROS和TensorRT實踐CNN Seg推理 223
8.3 PolarNet點雲語義分割和PyTorch實戰 226
8.3.1 PolarNet神經網絡簡介 226
8.3.2 在SemanticKITTI數據集上訓練一個PolarNet 228
參考文獻 233
第9章 激光雷達的發展趨勢及其在汽車工業中的應用前景 235
9.1 激光雷達帶來的輔助駕駛能力變革 235
9.1.1 激光雷達在城市和高速領航輔助駕駛中的應用 237
9.1.2 激光雷達在記憶泊車中的應用 239
9.2 激光雷達在4級自動駕駛中的應用 240
9.2.1 激光雷達在自動駕駛出租車上的應用 240
9.2.2 激光雷達在自動駕駛卡車上的應用 242
9.3 激光雷達在低速機器人中的應用 243
9.4 激光雷達未來可能的發展方向 244