3dwoo大學簡體電腦書店
自動駕駛算法與芯片設計
( 簡體 字)
作者:任建峰,蔣立源,余成文類別:1. -> 電子工程 -> 無人機
出版社:電子工業出版社自動駕駛算法與芯片設計 3dWoo書號: 55867
詢問書籍請說出此書號!
缺書
NT售價: 540
出版日:6/1/2022
頁數:252
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787121436437不接受訂購
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第1章 自動駕駛芯片的挑戰 1
1.1 自動駕駛科技界現狀 1
1.2 自動駕駛設計的挑戰 2
1.2.1 功能約束 3
1.2.2 可預測性約束 3
1.2.3 存儲限制 4
1.2.4 熱量約束 4
1.2.5 功率約束 5
1.3 自動駕駛系統算法設計 5
1.3.1 感知 6
1.3.2 決策 7
1.3.3 控制 8
1.3.4 安全驗證與測試 9
1.4 自動駕駛系統計算平臺 10
1.4.1 GPU 11
1.4.2 DSP 11
1.4.3 FPGA 11
1.4.4 ASIC 12
參考文獻 12

第2章 3D物體檢測 14
2.1 傳感器 15
2.1.1 攝像機 15
2.1.2 激光雷達 15
2.2 數據集 16
2.3 3D物體檢測方法 17
2.3.1 基于單目圖像的檢測方法 18
2.3.2 基于點云的檢測方法 19
2.3.3 基于融合的檢測方法 22
2.4 實戰項目:3D物體檢測 24
2.4.1 算法概述 25
2.4.2 點云預處理 26
2.4.3 網絡結構 28
2.4.4 歐拉區域提議 28
2.4.5 錨盒設計 29
2.4.6 復角度回歸 30
2.4.7 損失函數的構建 30
2.4.8 實驗結果 31
2.4.9 訓練細節 31
2.4.10 鳥瞰檢測 32
2.4.11 3D對象檢測 32
2.5 未來研究展望 33
參考文獻 33

第3章 車道檢測 37
3.1 傳統圖像處理 38
3.2 實例:基于霍夫變換的車道檢測 39
3.2.1 霍夫變換 40
3.2.2 OpenCV車道檢測 41
3.3 實例:RANSAC算法及直線擬合 42
3.3.1 算法思路 43
3.3.2 用Python實現直線擬合 43
3.4 基于深度學習 45
3.5 多傳感器集成方案 47
3.6 車道檢測系統評估標準 49
3.6.1 車道檢測系統性能的影響因素 49
3.6.2 離線評估 50
3.6.3 在線評估 51
3.6.4 評估指標 52
3.7 實戰項目:車道檢測 53
3.7.1 概述 53
3.7.2 車道點實例網絡 53
3.7.3 調整大小層 54
3.7.4 相同瓶頸層 55
3.7.5 下采樣瓶頸層和上采樣瓶頸層 56
3.7.6 損失函數 58
3.7.7 后處理方法 61
3.7.8 實驗結果 62
3.7.9 測試部分 62
參考文獻 63

第4章 運動規劃和控制 68
4.1 概述 68
4.2 傳統自動駕駛的規劃和決策層 69
4.2.1 路徑規劃 70
4.2.2 實例:路徑規劃Dijkstra算法 71
4.2.3 實例:路徑規劃A*算法 75
4.2.4 行為決策 77
4.2.5 運動規劃 77
4.2.6 實例:運動規劃 78
4.2.7 車輛控制 84
4.2.8 實例:模型預測控制 84
4.2.9 實例:PID控制 89
4.3 集成感知和規劃 90
實戰項目:NVIDIA的端到端自動駕駛 92
4.4 交互行為感知和規劃 94
4.4.1 合作與互動 95
4.4.2 博弈論方法 95
4.4.3 概率方法 96
4.4.4 部分可觀察的馬爾可夫決策過程 96
4.4.5 基于學習的方法 97
參考文獻 98

第5章 定位與建圖 102
5.1 SLAM問題 103
5.1.1 基于濾波器的SLAM方法 104
5.1.2 基于優化的SLAM方法 108
5.2 自主駕駛的局限性 109
5.2.1 問題的提出 109
5.2.2 避免或減少漂移的影響 109
5.2.3 自動駕駛SLAM的評估標準 110
5.3 自動駕駛中的SLAM 111
5.3.1 重新定位和回環檢測 111
5.3.2 先前構建的地圖中的定位 113
5.3.3 建立和使用未來地圖 115
5.3.4 利用當前地圖資源 116
5.4 自動駕駛中的地圖表示 117
5.4.1 公制地圖模型 117
5.4.2 語義地圖模型 120
參考文獻 122

第6章 自動駕駛仿真器 128
6.1 最新的仿真器 129
6.1.1 AirSim 129
6.1.2 Apollo 129
6.1.3 CARLA 130
6.1.4 Udacity AV Simulator 131
6.1.5 Deep Traf?c 132
6.2 仿真器實戰:CARLA 132
6.2.1 仿真引擎 132
6.2.2 使用CARLA評估自動駕駛方法 133
參考文獻 135

第7章 自動駕駛芯片 136
7.1 Mobileye EyeQ 137
7.2 NVIDIA 138
7.2.1 NVIDIA DRIVE AGX開發者套件 138
7.2.2 NVIDIA DRIVE軟件 138
7.3 TI Jacinto TDAx 141
7.4 實戰項目:360°環景系統與自動停車系統 142
7.4.1 自動停車與停車輔助系統 143
7.4.2 使用Jacinto TDA4VM處理器系列應對環視和自動停車的挑戰 144
7.4.3 Jacinto TDA4VM SoC 145
7.5 Qualcomm 147
7.6 NXP 148
7.7 Xilinx Zynq-7000 148
7.8 Synopsys 149

第8章 深度學習模型優化 151
8.1 模型壓縮和加速 152
8.1.1 參數修剪和共享 153
8.1.2 低秩分解 155
8.1.3 轉移/緊湊卷積濾波器 156
8.1.4 知識蒸餾 159
8.2 AI模型效率工具包 159
8.2.1 大規模節能AI 160
8.2.2 通過合作推進AI模型效率的研究 161
8.3 未來研究展望 161
參考文獻 162

第9章 深度學習芯片設計 166
9.1 概述 167
9.2 在CPU和GPU平臺上加速內核計算 167
9.3 中科院計算所的深度學習芯片系列 168
9.3.1 卷積神經網絡簡介 168
9.3.2 DaDianNao 170
9.3.3 ShiDianNao 171
9.3.4 寒武紀Cambricon-X 172
9.4 麻省理工學院的Eyeriss系列 172
9.4.1 卷積神經網絡基本知識 172
9.4.2 Eyeriss 173
9.4.3 Eyeriss v2 174
9.5 谷歌的TPU芯片 177
9.5.1 TPU v1 177
9.5.2 TPU指令集 178
9.5.3 TPU的心臟:脈動陣列 179
9.5.4 TPU v2/v3 180
9.5.5 軟件架構 180
9.6 近內存計算 181
9.6.1 DRAM 181
9.6.2 SRAM 182
9.6.3 非易失性電阻存儲器 182
9.6.4 傳感器 183
9.7 DNN硬件的指標 183
參考文獻 184

第10章 自動駕駛SoC設計 186
10.1 自動駕駛SoC設計流程 186
10.2 TI的Jacinto SoC平臺 187
10.3 Jacinto 7處理器的功能安全特性 190
10.3.1 功能安全 190
10.3.2 軟件功能安全 191
10.3.3 安全應用部署 192
10.4 具有DNN和ISP的符合安全標準的多核SoC設計 194
10.4.1 ADAS圖像識別SoC 194
10.4.2 DNN加速器 195
10.4.3 具有安全BIST控制器的ISP 196
10.5 實例:NVIDIA深度學習加速器 197
10.5.1 NVDLA介紹 198
10.5.2 FireSim 199
10.5.3 NVDLA集成 199
10.5.4 性能分析 200
參考文獻 200

第11章 自動駕駛操作系統 202
11.1 概述 202
11.2 開源自動駕駛操作系統 204
11.2.1 Linux RTOS 204
11.2.2 ROS中間件 205
11.3 使用開源軟件開發自動駕駛技術的公司 206
11.3.1 百度 206
11.3.2 寶馬 207
11.3.3 Voyage 208
11.3.4 Tier IV 208
11.3.5 PolySync 209
11.3.6 Perrone Robotics 210
11.4 汽車硬實時操作系統和框架 211
11.4.1 BlackBerry QNX 211
11.4.2 EB robinos和EB corbos 212
11.4.3 Integrity RTOS 213
11.4.4 NVIDIA DriveWorks SDK 213
11.5 總結 214

第12章 自動駕駛軟件架構 215
12.1 概述 215
12.2 基于ISO 26262的軟件開發 216
12.2.1 ISO 26262簡介 216
12.2.2 Synopsys軟件產品組合 216
12.2.3 ASIL 218
12.2.4 軟件架構設計 218
12.2.5 軟件單元設計與實現 219
12.2.6 軟件單元測試 219
12.3 基于SAE J3016的組件架構設計 220
12.3.1 功能組件 221
12.3.2 AUTOSAR 224
12.4 自動駕駛汽車的架構設計與實現 225
12.4.1 硬件框架 226
12.4.2 軟件系統架構 227
12.4.3 數據傳輸模塊 229
12.4.4 自動駕駛測試報告 229
參考文獻 229

第13章 5G C-V2X簡介 230
13.1 移動車聯網 230
13.2 C-V2X如何改變駕駛 231
13.2.1 避免碰撞 231
13.2.2 車隊行駛 232
13.2.3 協作駕駛 232
13.2.4 隊列警告 232
13.2.5 保護弱勢道路使用者 232
13.2.6 支持應急服務 233
13.2.7 危險提前警告 233
13.2.8 越來越多的自動駕駛 233
13.3 C-V2X的優勢 233
13.4 C-V2X的工作原理 235
13.4.1 直接通信 235
13.4.2 網絡通信 235
13.4.3 5G如何改變C-V2X 236
13.5 C-V2X部署計劃 236
13.5.1 中國引領潮流 236
13.5.2 澳大利亞——改善道路安全 237
13.5.3 美國——增長勢頭 237
13.5.4 歐洲——廣泛支持 238
13.6 總結 238
目前自動駕駛的一個發展趨勢就是智能化。隨著人工智能的飛速發展以及各種新型傳感器的涌現,汽車智能化形成趨勢,輔助駕駛功能的滲透率越來越高。這些功能的實現需要借助于攝像頭、雷達、激光雷達等新增的傳感器數據,其中視頻處理需要大量并行計算。然而,傳統CPU算力不足,而DSP擅長圖像處理,對于深度學習卻缺乏足夠的性能。盡管GPU擅長訓練,但它過于耗電,影響汽車的性能。因此,本書著眼于未來,認為定制化的ASIC必將成為主流。本書以自動駕駛的芯片設計為最終目標,來論述設計一個面向未來的自動駕駛SoC芯片的學術支撐和工程實踐。本書共13章。其中第1章主要介紹自動駕駛目前遇到的挑戰和研究方向。第2~6章重點講述環境感知以及規劃控制方面的算法設計;第7~10章重點講述深度學習模型的優化和深度學習芯片的設計;第11章和第12章重點講述具有安全功能的自動駕駛軟件架構設計;第13章介紹5G車聯網。
目前汽車發展的趨勢是智能化、電動化以及共享化。隨著對自動駕駛汽車的需求不斷增加,越來越多的大型企業以及一些創業公司,投入了大量的人力和資源到自動駕駛這個產業中。作為未來自動駕駛的心臟,自動駕駛芯片的設計必須作為其核心技術,得到充分的投入和發展。我從2012年開始接觸汽車輔助駕駛項目,主要從事輔助駕駛、影像、計算機視覺算法和芯片設計的相關工作,對這個行業的發展有一定的理解。這些年來的芯片行業經驗告訴我們,芯片的設計涉及對算法的深入理解、嚴格的硬件開發流程、相對成熟的軟件架構設計,以及對工程流程的嚴格執行和管理。
本書共13章。第1章主要介紹自動駕駛目前遇到的挑戰和研究方向。第2~6章主要介紹自動駕駛的算法設計部分。要開發一款自動駕駛芯片,首先應該對自動駕駛的算法,如物體檢測、多傳感器融合等進行充分的調研,做大量的仿真實驗,用來覆蓋更多的場景。其中第2~4章主要介紹自動駕駛方面的幾個算法。當然,涉及自動駕駛的算法有很多,遠遠不止這些,本書只能起到拋磚引玉的作用,希望讀者能閱讀大量的最新技術文章,做大量的實驗,用來確保自己開發的算法具有一定的魯棒性和準確性。第5章主要介紹高清地圖的開發,目前很多創業公司的業務主要集中在高清地圖的生成上。自動駕駛的技術水平還處于“按圖索驥”的狀態,如何快速、準確地生成高清地圖也是目前的一個商機。開發出了自動駕駛算法,那么如何測試這些算法呢?第6章主要介紹一些開源的仿真器,用來測試、評估自動駕駛算法。
第7~10章是關于芯片的內容。有了成熟、相對穩定的算法,如何將其部署到汽車里面?一種方法是利用現成的商用芯片。目前一些大型半導體芯片企業,比如德州儀器、英偉達以及高通等公司,都提供了商業級別的SoC芯片,用來支撐汽車輔助駕駛或者自動駕駛的應用。其中第7章重點介紹一些商用芯片如何支撐自動駕駛的算法實現。目前很多自動駕駛算法都是基于深度學習開發的,因此模型優化是一個非常重要的課題。第8章介紹目前存在的一些模型壓縮算法。第9章和第10章重點介紹如何開發深度學習的專用加速芯片,以及如何開發SoC的自動駕駛芯片。同時,我認為,適用于自動駕駛的圖像傳感器處理芯片和自動駕駛專用的深度學習加速器芯片,是目前存在的機會。本書也將介紹一些硬件的開源代碼,比如NVDLA,有興趣的讀者可以參考。
第11章和第12章是關于自動駕駛軟件架構設計的內容。要開發一款芯片,必須配備成熟的軟件架構以及一些開發工具,以使開發人員更好地使用芯片。其中第11章主要介紹目前在自動駕駛領域涌現出來的一些操作系統。第12章主要介紹一些基于安全功能的軟件開發架構和流程。
第13章簡要介紹如何將5G用于車聯網來提高自動駕駛的體驗。
對于每個部分,有興趣的讀者也可以從本書中挖掘潛在的科研項目和產品。比如,對算法感興趣的讀者,可以開發多傳感器的融合算法(第2章和第3章);對高清地圖感興趣的讀者,可以了解高清地圖是如何建立的(第5章),目前硅谷很多創業公司都在開發定制高清地圖;如果有了很好的自動駕駛算法,則也可以利用模型壓縮的軟件方法(第8章),直接在英偉達、高通、德州儀器的自動駕駛平臺上實現其產品的原型(第7章)。對硬件開發感興趣的讀者,可以參考深度學習芯片的設計(第9章)以及自動駕駛SoC芯片的設計(第10章)。特別是開源的NVDLA,做硬件設計的讀者,可以參考此開源代碼來設計定制的ASIC芯片。關于自動駕駛芯片的ASIC,我認為開發數字影像處理芯片以及自動駕駛專有的深度學習芯片是一個不錯的方向。特別是數字影像處理芯片的設計,如何滿足HDR以及快速運動的物體是一個很大的挑戰,但也是一個機遇。對軟件開發有興趣的讀者,可以參考軟件架構設計(第12章),如何在開源代碼的基礎上開發屬于自己的自動駕駛軟件產品,這和以前的軟件開發不同,需要考慮安全性能。當然,本書參考了大量的開源代碼和文獻,歷時半年完成,其中耗費了作者大量的時間和精力。后續希望有興趣的投資人給予一些贊助,利用作者多年的半導體開發管理經驗,招聘幾個工程師,把這些開源代碼串起來,形成一本更具實戰性的教科書,或者開發出一些更具適用性的產品。
本書的一個重要特點是結合最新發表的學術論文和開源代碼,詳細論述了自動駕駛芯片設計的大致過程。不但有理論基礎,還有很多開源代碼,為讀者提供大量的實戰經驗,鍛煉動手能力。另外,芯片設計涉及多個不同部門、不同領域的人才的合作和交流,因此,嚴格的流程管理、規范的代碼管理、合格的文檔輸出,還有有效的部門溝通,在項目實施過程中都非常重要。但是,比較遺憾的是,我沒有辦法把這些多年的半導體開發經驗寫到本書里。
編寫本書,旨在期望大學本科生、研究生甚至博士生能夠從本書中獲得一點啟發,能夠以嚴謹的學術態度充分論證每一個算法,腳踏實地地設計自動駕駛芯片,為中國的自動駕駛芯片的開發做出一點貢獻。
編寫本書,要感謝我的老師,西北工業大學計算機學院的蔣立源教授,沒有他的鼓勵和審稿,這本書是不可能寫出來的。我利用工作之余,歷時很長時間才完成本書的初稿,其中蔣老師也花費了大量的精力幫我通篇修改。他現在雖是耄耋老人,比我年長四十多歲,但這并不妨礙我們之間的友誼,從2002年上了蔣老師的一門“計算的數學理論”課后,我們就成了“忘年交”。從西北工業大學校園長凳上的長談,到西北工業大學巴國布衣的餐廳,我們亦師亦友,討論生活、學業,蔣老師鼓勵我留學美國。自從我來美國后,我們中斷了十四年的聯系,這里要向蔣老師說聲對不起,懇請您原諒。自從2019年恢復聯系以來,我們就成了無話不說的知心朋友,蔣老師一直鼓勵我為母校做些貢獻,但我自知愚笨,才疏學淺,只能期望和老師合作編寫一本書,見證我們的師生情誼。如果本書對讀者有一點幫助,我將頗感欣慰。
由于水平有限,書中謬誤及不當之處在所難免,希望大家給予批評指正。
pagetop