本書是一本系統(tǒng)講解自動(dòng)駕駛感知技術(shù)的圖書,同時(shí)帶有具體的自動(dòng)駕駛實(shí)踐案例,以及自動(dòng)駕駛感知技術(shù)的落地部署方案供讀者學(xué)習(xí)。本書主要涉及的內(nèi)容包括神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)理論知識(shí)、經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)、輕量化卷積神經(jīng)網(wǎng)絡(luò)、Vision Transformer、2D目標(biāo)檢測算法(YOLOv5、YOLOX、YOLOv5 Lite、NanoDet等算法)、3D激光點(diǎn)云目標(biāo)檢測算法、BEVFormer純視覺的3D目標(biāo)檢測算法、語義分割、車道線檢測、ReID相關(guān)技術(shù)、多目標(biāo)跟蹤及部署落地的相關(guān)技術(shù)(如CUDA、OpenCV、NCNN、TensorRT等)。為了讓讀者全面、深入、透徹地理解所講解的算法,書中還給出了具體的實(shí)踐案例,并提供了相應(yīng)的數(shù)據(jù)集供讀者實(shí)踐,同時(shí)通過對(duì)代碼的講解使讀者獲得實(shí)戰(zhàn)能力。
龔心滿,碩士,新能源汽車感知融合資深工程師。畢業(yè)于中國計(jì)量大學(xué)控制理論與控制工程專業(yè)。曾就職于華人運(yùn)通自動(dòng)駕駛科技有限公司,擔(dān)任深度學(xué)習(xí)高級(jí)工程師職位,負(fù)責(zé)ADAS感知項(xiàng)目的研發(fā),現(xiàn)任職于吉咖智能機(jī)器人有限公司感知中心,負(fù)責(zé)高階自動(dòng)駕駛的落地。同時(shí)還參與多本人工智能書籍的撰寫,也是多個(gè)技術(shù)專欄的簽約作者。在安防和自動(dòng)駕駛領(lǐng)域都有豐富的經(jīng)驗(yàn)。江濤,北京航空航天大學(xué)學(xué)士,香港中文大學(xué)碩士。先后在明星初創(chuàng)公司、研究院、互聯(lián)網(wǎng)大廠、實(shí)驗(yàn)室任職,專注于深度學(xué)習(xí)與計(jì)算機(jī)視覺領(lǐng)域的前沿研究、落地部署、AI產(chǎn)品化,是多個(gè)國際知名開源項(xiàng)目的活躍貢獻(xiàn)者和維護(hù)者,也是多個(gè)技術(shù)專欄的簽約作者。梁功臣,碩士,新能源汽車軟件研發(fā)高級(jí)工程師。畢業(yè)于東北大學(xué)控制理論與控制工程專業(yè)。曾作為項(xiàng)目核心成員于中國科學(xué)院沈陽自動(dòng)化研究所參與相關(guān)國家863項(xiàng)目(仿生醫(yī)療假肢)的研發(fā)科研工作,現(xiàn)任職于蔚來汽車科技有限公司數(shù)字架構(gòu)定義與集成部門。胡佳慧,碩士,畢業(yè)于中國計(jì)量大學(xué)控制工程專業(yè),F(xiàn)就職于遠(yuǎn)景科技集團(tuán),負(fù)責(zé)新能源行業(yè)智能化項(xiàng)目的研發(fā),同時(shí)也是多個(gè)知名開源項(xiàng)目的負(fù)責(zé)人。在人工智能研發(fā)與落地方面有著豐富的經(jīng)驗(yàn)。
第1章 計(jì)算機(jī)視覺與神經(jīng)網(wǎng)絡(luò) 1
1.1 人工神經(jīng)網(wǎng)絡(luò) 1
1.1.1 感知機(jī) 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在計(jì)算機(jī)視覺中的應(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的交通標(biāo)識(shí)牌識(shí)別項(xiàng)目實(shí)踐 38
1.6 本章小結(jié) 55
第2章 目標(biāo)檢測在自動(dòng)駕駛中的應(yīng)用 56
2.1 目標(biāo)檢測簡介 56
2.1.1 相關(guān)工作簡介 56
2.1.2 兩階段目標(biāo)檢測算法簡介 57
2.1.3 單階段目標(biāo)檢測算法簡介 62
2.2 自動(dòng)駕駛中的車輛檢測 66
2.2.1 BDD100K數(shù)據(jù)集簡介 66
2.2.2 YOLOv5算法的原理 67
2.2.3 基于YOLOv5的車輛檢測項(xiàng)目實(shí)踐 74
2.3 自動(dòng)駕駛中的行人檢測 81
2.3.1 YOLOX算法的原理 81
2.3.2 基于YOLOX的行人檢測項(xiàng)目實(shí)踐 90
2.4 自動(dòng)駕駛中的交通標(biāo)識(shí)牌檢測 104
2.4.1 NanoDet算法的原理 104
2.4.2 基于NanoDet的交通標(biāo)識(shí)牌檢測項(xiàng)目實(shí)踐 110
2.5 自動(dòng)駕駛中的交通信號(hào)燈的檢測與識(shí)別 125
2.5.1 YOLOv5 Lite算法的原理 125
2.5.2 基于YOLOv5 Lite的交通信號(hào)燈檢測項(xiàng)目實(shí)踐 128
2.6 3D目標(biāo)檢測 131
2.6.1 PointPillars 132
2.6.2 BEVFormer 136
2.6.3 基于OpenPCDet的3D目標(biāo)檢測項(xiàng)目實(shí)踐 139
2.7 本章小結(jié) 153?
第3章 語義分割在自動(dòng)駕駛中的應(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ū)域分割項(xiàng)目實(shí)踐 163
3.3.1 Cityscapes數(shù)據(jù)集簡介 163
3.3.2 TopFormer模型實(shí)現(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 局部注意力機(jī)制 178
4.2.4 Proposal預(yù)測 179
4.2.5 后處理 179
4.3 基于LaneATT的車道線檢測實(shí)踐 180
4.3.1 CULane數(shù)據(jù)集介紹 180
4.3.2 LaneATT實(shí)踐 180
4.4 本章小結(jié) 186
第5章 多目標(biāo)跟蹤在自動(dòng)駕駛中的應(yīng)用 187
5.1 多目標(biāo)跟蹤算法SORT的原理 187
5.2 多目標(biāo)跟蹤算法DeepSORT的原理 192
5.2.1 級(jí)聯(lián)匹配 192
5.2.2 ReID特征提取 193
5.3 多目標(biāo)跟蹤算法ByteTrack的原理 194
5.4 基于ByteTrack的多目標(biāo)跟蹤項(xiàng)目實(shí)踐 196
5.4.1 MOT16數(shù)據(jù)集 196
5.4.2 Byte匹配 197
5.5 本章小結(jié) 202
第6章 深度學(xué)習(xí)模型的落地和部署 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 進(jìn)行圖像預(yù)處理 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文件中導(dǎo)入網(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 模型部署實(shí)例 263
6.5.1 使用 OpenCV 進(jìn)行前處理 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
參考文獻(xiàn) 285