本書是一本系統(tǒng)講解自動駕駛感知技術(shù)的圖書,同時帶有具體的自動駕駛實踐案例,以及自動駕駛感知技術(shù)的落地部署方案供讀者學習。本書主要涉及的內(nèi)容包括神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)理論知識、經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)、輕量化卷積神經(jīng)網(wǎng)絡(luò)、Vision Transformer、2D目標檢測算法(YOLOv5、YOLOX、YOLOv5 Lite、NanoDet等算法)、3D激光點云目標檢測算法、BEVFormer純視覺的3D目標檢測算法、語義分割、車道線檢測、ReID相關(guān)技術(shù)、多目標跟蹤及部署落地的相關(guān)技術(shù)(如CUDA、OpenCV、NCNN、TensorRT等)。為了讓讀者全面、深入、透徹地理解所講解的算法,書中還給出了具體的實踐案例,并提供了相應(yīng)的數(shù)據(jù)集供讀者實踐,同時通過對代碼的講解使讀者獲得實戰(zhàn)能力。
龔心滿,碩士,新能源汽車感知融合資深工程師。畢業(yè)于中國計量大學控制理論與控制工程專業(yè)。曾就職于華人運通自動駕駛科技有限公司,擔任深度學習高級工程師職位,負責ADAS感知項目的研發(fā),現(xiàn)任職于吉咖智能機器人有限公司感知中心,負責高階自動駕駛的落地。同時還參與多本人工智能書籍的撰寫,也是多個技術(shù)專欄的簽約作者。在安防和自動駕駛領(lǐng)域都有豐富的經(jīng)驗。江濤,北京航空航天大學學士,香港中文大學碩士。先后在明星初創(chuàng)公司、研究院、互聯(lián)網(wǎng)大廠、實驗室任職,專注于深度學習與計算機視覺領(lǐng)域的前沿研究、落地部署、AI產(chǎn)品化,是多個國際知名開源項目的活躍貢獻者和維護者,也是多個技術(shù)專欄的簽約作者。梁功臣,碩士,新能源汽車軟件研發(fā)高級工程師。畢業(yè)于東北大學控制理論與控制工程專業(yè)。曾作為項目核心成員于中國科學院沈陽自動化研究所參與相關(guān)國家863項目(仿生醫(yī)療假肢)的研發(fā)科研工作,現(xiàn)任職于蔚來汽車科技有限公司數(shù)字架構(gòu)定義與集成部門。胡佳慧,碩士,畢業(yè)于中國計量大學控制工程專業(yè)。現(xiàn)就職于遠景科技集團,負責新能源行業(yè)智能化項目的研發(fā),同時也是多個知名開源項目的負責人。在人工智能研發(fā)與落地方面有著豐富的經(jīng)驗。
第1章 計算機視覺與神經(jīng)網(wǎng)絡(luò) 1
1.1 人工神經(jīng)網(wǎng)絡(luò) 1
1.1.1 感知機 2
1.1.2 神經(jīng)網(wǎng)絡(luò) 2
1.2 卷積神經(jīng)網(wǎng)絡(luò) 4
1.2.1 卷積 4
1.2.2 激活函數(shù) 5
1.2.3 池化層 6
1.2.4 全連接層 6
1.3 經(jīng)典卷積神經(jīng)網(wǎng)絡(luò) 7
1.3.1 AlexNet 7
1.3.2 VGG 8
1.3.3 GoogLeNet 9
1.3.4 ResNet 11
1.3.5 DarkNet 14
1.3.6 CSPDarkNet 16
1.4 輕量化卷積神經(jīng)網(wǎng)絡(luò) 18
1.4.1 MobileNet 18
1.4.2 ShuffleNet 22
1.4.3 GhostNet 25
1.5 Vision Transformer在計算機視覺中的應(yīng)用 27
1.5.1 ViT 27
1.5.2 Swin Transformer 30
1.5.3 MobileViT 34
1.5.4 TRT-ViT 36
1.5.5 基于ResNet/MobileViT的交通標識牌識別項目實踐 38
1.6 本章小結(jié) 55
第2章 目標檢測在自動駕駛中的應(yīng)用 56
2.1 目標檢測簡介 56
2.1.1 相關(guān)工作簡介 56
2.1.2 兩階段目標檢測算法簡介 57
2.1.3 單階段目標檢測算法簡介 62
2.2 自動駕駛中的車輛檢測 66
2.2.1 BDD100K數(shù)據(jù)集簡介 66
2.2.2 YOLOv5算法的原理 67
2.2.3 基于YOLOv5的車輛檢測項目實踐 74
2.3 自動駕駛中的行人檢測 81
2.3.1 YOLOX算法的原理 81
2.3.2 基于YOLOX的行人檢測項目實踐 90
2.4 自動駕駛中的交通標識牌檢測 104
2.4.1 NanoDet算法的原理 104
2.4.2 基于NanoDet的交通標識牌檢測項目實踐 110
2.5 自動駕駛中的交通信號燈的檢測與識別 125
2.5.1 YOLOv5 Lite算法的原理 125
2.5.2 基于YOLOv5 Lite的交通信號燈檢測項目實踐 128
2.6 3D目標檢測 131
2.6.1 PointPillars 132
2.6.2 BEVFormer 136
2.6.3 基于OpenPCDet的3D目標檢測項目實踐 139
2.7 本章小結(jié) 153?
第3章 語義分割在自動駕駛中的應(yīng)用 154
3.1 STDC算法的原理 155
3.1.1 STDC模塊 155
3.1.2 STDC語義分割網(wǎng)絡(luò) 157
3.2 TopFormer算法的原理 160
3.2.1 Token Pyramid Module 161
3.2.2 Scale-Aware Semantics Extractor 162
3.2.3 Semantics Injection Module 162
3.2.4 Segmentation Head 163
3.3 基于TopFormer的可行駛區(qū)域分割項目實踐 163
3.3.1 Cityscapes數(shù)據(jù)集簡介 163
3.3.2 TopFormer模型實現(xiàn) 164
3.4 本章小結(jié) 172
第4章 車道線檢測與分割 173
4.1 UNet算法的原理 174
4.2 LaneATT算法的原理 176
4.2.1 Lane的Anchor表征 177
4.2.2 基于Anchor的特征圖池化 177
4.2.3 局部注意力機制 178
4.2.4 Proposal預測 179
4.2.5 后處理 179
4.3 基于LaneATT的車道線檢測實踐 180
4.3.1 CULane數(shù)據(jù)集介紹 180
4.3.2 LaneATT實踐 180
4.4 本章小結(jié) 186
第5章 多目標跟蹤在自動駕駛中的應(yīng)用 187
5.1 多目標跟蹤算法SORT的原理 187
5.2 多目標跟蹤算法DeepSORT的原理 192
5.2.1 級聯(lián)匹配 192
5.2.2 ReID特征提取 193
5.3 多目標跟蹤算法ByteTrack的原理 194
5.4 基于ByteTrack的多目標跟蹤項目實踐 196
5.4.1 MOT16數(shù)據(jù)集 196
5.4.2 Byte匹配 197
5.5 本章小結(jié) 202
第6章 深度學習模型的落地和部署 203
6.1 常見模型部署框架介紹 203
6.1.1 TensorRT 204
6.1.2 NCNN 206
6.1.3 ONNX 206
6.2 OpenCV圖像處理操作 207
6.2.1 OpenCV基本操作 207
6.2.2 使用OpenCV 進行圖像預處理 212
6.3 GPU編程工具之CUDA 216
6.3.1 CUDA 編程模型 217
6.3.2 CUDA 線程組織 223
6.3.3 CUDA 內(nèi)存組織 239
6.3.4 GPU 硬件組織結(jié)構(gòu) 242
6.3.5 CUDA流 245
6.4 模型部署框架之TensorRT 249
6.4.1 使用TensorRT API搭建網(wǎng)絡(luò)結(jié)構(gòu) 250
6.4.2 從ONNX文件中導入網(wǎng)絡(luò)結(jié)構(gòu)定義 253
6.4.3 TensorRT推理引擎的序列化與反序列化 254
6.4.4 TensorRT的推理 257
6.4.5 INT8量化 259
6.4.6 TensorRT的插件開發(fā) 261
6.5 TensorRT 模型部署實例 263
6.5.1 使用 OpenCV 進行前處理 264
6.5.2 使用CUDA加速前處理 265
6.5.3 執(zhí)行推理操作 268
6.5.4 后處理 270
6.6 NCNN模型部署 273
6.6.1 NCNN部署流程 273
6.6.2 使用NCNN部署NanoDet 276
6.7 本章小結(jié) 284
參考文獻 285