袁沂
(睿馭汽車(北京)有限公司,北京 100015)
主題詞:智能駕駛 車載計(jì)算機(jī) ASIC GPU FPGA 加速器 深度學(xué)習(xí)
縮略語
ADAS Advanced Driver Assistance System
(先進(jìn)駕駛輔助系統(tǒng))
CPU Centre Processing Units(中央處理器)
GPUGraphics Processing Unit(圖形處理器)
FPGA Field-Programmable Gate Arrays
(現(xiàn)場(chǎng)可編程門陣列)
ASIC Application-Specific Integrated Circuit
(專門應(yīng)用的集成電路)
ODD Operational Design Domain
(設(shè)計(jì)運(yùn)行范圍)
DDT Dynamic Driving Task(動(dòng)態(tài)駕駛?cè)蝿?wù))
OEDR Object﹠Event Detection and Response
(物體、事件探測(cè)和反應(yīng))
ADS Automated Driving System
(自動(dòng)駕駛系統(tǒng))
DET Object Detection Engine(目標(biāo)探測(cè)引擎)
TRA Object Tracking Engine(目標(biāo)跟蹤引擎)
LOC Localization engine(定位引擎)
DNNs Deep Neural Networks(深度神經(jīng)網(wǎng)絡(luò))
RISC Reduced Instruction Set Computing
(指令集)
SoC System on Chips(系統(tǒng)級(jí)芯片)
LUT Look Up Table(查表法)
DSP Digital Signal Processors
(數(shù)字信號(hào)處理器)
AD Autonomous driving Domain
(自動(dòng)駕駛域)
NPU Neuronal network Processing Units
(神經(jīng)網(wǎng)絡(luò)處理單元)
VMP Vector Microcode Processor
(矢量微碼處理器)
TOPs Trillion Operations Per Second
(每秒萬億次運(yùn)算)
近幾年隨著深度學(xué)習(xí)、機(jī)器視覺、車聯(lián)網(wǎng)和傳感器等技術(shù)的蓬勃發(fā)展,使得高級(jí)輔助駕駛,甚至全自主無人駕駛汽車的商用化成為可能。目前不同的科技公司都在加緊向這個(gè)產(chǎn)業(yè)鏈的相關(guān)領(lǐng)域進(jìn)行持續(xù)的科研和產(chǎn)業(yè)化投入。其中,既有大力推廣云服務(wù)的Google、Uber、Baidu等互聯(lián)網(wǎng)翹楚,也有老牌的通用、造車新銳、特斯拉(Tesla)等這樣的整車制造商,更沒有缺席像Inter、NVIDIA這樣的半導(dǎo)體巨頭。為了實(shí)現(xiàn)更高級(jí)的輔助和自動(dòng)駕駛,廠商們將各種最新科技集合到一臺(tái)汽車終端上,并陸續(xù)推出了不同技術(shù)路線的自動(dòng)駕駛平臺(tái)和服務(wù)方案。
互聯(lián)網(wǎng)公司將更希望占據(jù)在業(yè)務(wù)整合上的頂端優(yōu)勢(shì),通過高精度地圖云服務(wù)和強(qiáng)大的無線網(wǎng)絡(luò),構(gòu)建一個(gè)人與車、車與車、物(基礎(chǔ)設(shè)施)與車之間的有機(jī)互連,以提供一個(gè)安全智能化的自動(dòng)駕駛方案。整車廠商則更著眼于當(dāng)前相對(duì)成熟的技術(shù),通過集成各種傳感器和裝載高性能的本地計(jì)算機(jī),并通過產(chǎn)品的快速迭代實(shí)現(xiàn)從高級(jí)輔助駕駛到全自動(dòng)駕駛的快速進(jìn)化。而已經(jīng)投身相關(guān)領(lǐng)域的各半導(dǎo)體公司,作為車載超級(jí)計(jì)算機(jī)和硬件加速器的提供商,其技術(shù)路線之競(jìng)爭(zhēng)則愈演愈烈,從未停止。
本文將從原理框架、性能對(duì)比和商用實(shí)例三個(gè)角度,對(duì)三種主流自動(dòng)駕駛加速器方案GPU、FPGA和ASIC進(jìn)行論述和對(duì)比,以對(duì)未來的技術(shù)方向進(jìn)行有依據(jù)的預(yù)測(cè)。
根據(jù)SAE美國(guó)機(jī)動(dòng)車工程師協(xié)會(huì)最新發(fā)布的標(biāo)準(zhǔn)SAE J3016TMJUN2018,從駕駛員參與車輛駕駛控制的程度,將其分為6個(gè)等級(jí),即從Level 0到Level 5[1]。
Level 0:無自動(dòng)駕駛,駕駛員必須獨(dú)立完成駕駛的全部操作任務(wù);
Level 1:駕駛輔助,自動(dòng)駕駛系統(tǒng)和駕駛員可以分享對(duì)汽車運(yùn)行的控制,自動(dòng)駕駛系統(tǒng)在設(shè)計(jì)運(yùn)行范圍內(nèi)(ODD)可以持續(xù)的執(zhí)行動(dòng)態(tài)駕駛(DDT)任務(wù),包括縱向和側(cè)向運(yùn)行控制,但不能同時(shí)進(jìn)行縱向和側(cè)向控制,駕駛員需要完成其余的設(shè)計(jì)運(yùn)行范圍內(nèi)的汽車運(yùn)行控制,如在限定路段可實(shí)現(xiàn)自動(dòng)巡航,駕駛員需保持對(duì)車輛的控制并完成如車道變換等任務(wù)(駕駛員雙手不可以離開方向盤)。
Level 2:部分自動(dòng)駕駛,自動(dòng)駕駛系統(tǒng)在設(shè)計(jì)運(yùn)行范圍內(nèi)(ODD)可以持續(xù)的執(zhí)行動(dòng)態(tài)駕駛(DDT)任務(wù),包括同時(shí)進(jìn)行縱向和側(cè)向運(yùn)行控制,自動(dòng)駕駛系統(tǒng)可以在限制路段完全控制方向盤、加速和制動(dòng)踏板。同時(shí),駕駛員保留對(duì)車輛的控制權(quán)(駕駛員雙手不可以離開方向盤)。駕駛員要保持對(duì)車輛周圍物體和事件探測(cè)和反應(yīng)(OEDR)。
Level 3:有條件自動(dòng)駕駛,自動(dòng)駕駛系統(tǒng)(ADS)在ODD持續(xù)執(zhí)行全部的動(dòng)態(tài)駕駛?cè)蝿?wù)(DDT),即ADS可以完全接管駕駛控制權(quán)。當(dāng)駕駛員被系統(tǒng)要求介入駕駛控制的時(shí)候,駕駛員必須要介入控制(在限定路段,如封閉高速路開啟自動(dòng)駕駛模式,駕駛員可以釋放方向盤),包括其它車輛出現(xiàn)故障時(shí)駕駛員能做出適當(dāng)?shù)姆磻?yīng)。
Level 4:高級(jí)自動(dòng)駕駛,ADS系統(tǒng)在限定路段可以完全接管駕駛控制權(quán),持續(xù)完成ODD范圍內(nèi)的動(dòng)態(tài)駕駛?cè)蝿?wù)(DDT),駕駛?cè)藛T對(duì)動(dòng)態(tài)駕駛?cè)蝿?wù)不需要進(jìn)行響應(yīng),可繼續(xù)實(shí)施自動(dòng)執(zhí)行動(dòng)態(tài)駕駛?cè)蝿?wù),當(dāng)需要時(shí)駕駛員要對(duì)ADS進(jìn)行干預(yù)。
Level 5:全自動(dòng)駕駛,自動(dòng)駕駛系統(tǒng)可以在全路段、路況條件下執(zhí)行動(dòng)態(tài)駕駛?cè)蝿?wù)(即不限ODD),無需駕駛員介入,當(dāng)需要時(shí)駕駛員要對(duì)ADS進(jìn)行干預(yù)。
這6個(gè)級(jí)別通常被定義為L(zhǎng)-0無自動(dòng)駕駛,L-1輔助駕駛,L-2部分自動(dòng)駕駛,L-3有條件自動(dòng)駕駛,L-4高級(jí)自動(dòng)駕駛,L-5全自動(dòng)駕駛。
在這里舉例說明,Tesla的Auto-pilot 2.5功能是介于L-2和L-3之間的自動(dòng)駕駛模式,并未達(dá)到L3的要求,從法規(guī)角度駕駛員的雙手是不可以離開方向盤的。
自動(dòng)駕駛系統(tǒng)屬于一種“端到端”的控制系統(tǒng),即系統(tǒng)需要對(duì)輸入進(jìn)行實(shí)時(shí)處理和響應(yīng)(輸出)。從安全性和商用性的角度來看,該系統(tǒng)對(duì)響應(yīng)速度、可預(yù)測(cè)性、能耗效益等方面有嚴(yán)格要求。當(dāng)前最廣泛采用的自動(dòng)駕駛系統(tǒng),其輸入是從車上多種不同類型傳感器獲取的周圍環(huán)境空間量化的物理信息和視覺數(shù)據(jù)流,在自主行駛過程中不斷傳遞給車載計(jì)算機(jī)。數(shù)據(jù)再通過結(jié)構(gòu)化和流程化的算法實(shí)現(xiàn)對(duì)車輛周圍環(huán)境和物體的感知、定位和跟蹤。標(biāo)定數(shù)據(jù)再通過熔合算法建立一個(gè)厘米級(jí)精度的實(shí)時(shí)3D地圖,并結(jié)合頂層的平面地圖導(dǎo)航應(yīng)用,制定車輛行進(jìn)路線和運(yùn)動(dòng)軌跡。并最終控制車輛行駛的執(zhí)行機(jī)構(gòu),實(shí)現(xiàn)精確運(yùn)動(dòng)和緊急情況快速反應(yīng)。Shih-CHieh Lin總結(jié)了當(dāng)今全球最先進(jìn)的自動(dòng)駕駛系統(tǒng)[2],如圖1。
圖1 確定車輛行進(jìn)路線和運(yùn)動(dòng)軌的自動(dòng)駕駛系統(tǒng)[2]
圖1 是一種基于攝像頭圖像傳感器的端到端自動(dòng)駕駛方案。首先,車輛攝像頭獲取連續(xù)幀圖像,其數(shù)據(jù)流同時(shí)提供給系統(tǒng)內(nèi)的物體識(shí)別引擎(Detector Engine)和物體定位引擎(Localizer Engine)。識(shí)別引擎用算法提取圖像中的相關(guān)物體,如車輛、行人、標(biāo)志標(biāo)線或其他基礎(chǔ)設(shè)施等。后續(xù)的跟蹤引擎(Tracker Engine)會(huì)對(duì)識(shí)別出的物體進(jìn)行持續(xù)跟蹤。與此同時(shí),定位引擎會(huì)根據(jù)前后幀圖像的相關(guān)性來判定車輛自身位置是否變化,并通過量化算法確定相對(duì)位置,進(jìn)而實(shí)現(xiàn)車輛的自我定位。定位信息和周圍物體信息經(jīng)過融合后,一個(gè)包含各種物理環(huán)境數(shù)據(jù)的3D坐標(biāo)空間在融合引擎(Fusion)中建立起來。接下來的車輛動(dòng)作規(guī)劃程序(Motion Planner)根據(jù)空間環(huán)境情況,制定行駛路徑,優(yōu)化行駛動(dòng)作,并通過行車控制器對(duì)車輛的方向機(jī)、加速器和制動(dòng)器進(jìn)行一系列的操縱,完成車輛的行進(jìn)、轉(zhuǎn)向和控速等運(yùn)動(dòng)組合。
而路徑規(guī)劃(Mission Planner)軟件使用網(wǎng)絡(luò)地圖(Google或Baidu地圖等),結(jié)合實(shí)時(shí)交通信息和GPS技術(shù),規(guī)劃從當(dāng)前位置到終點(diǎn)的全徑路線。且在車輛偏離導(dǎo)航路線時(shí),告知?jiǎng)幼饕?guī)劃控制器,修正或者重新制定新的路線。
上述流程可以看作一個(gè)最基本的通過機(jī)器視覺和深度學(xué)習(xí)算法實(shí)現(xiàn)自動(dòng)駕駛的模型。但實(shí)際上最新的L2以上的自動(dòng)方案需要包含前向窄角遠(yuǎn)焦攝像頭、前向中距攝像頭、前向廣角近焦攝像頭、左前和右前廣角攝像頭、左后和右后廣角攝像頭,以及后看攝像頭等多個(gè)以上的圖像傳感器來實(shí)現(xiàn)360度的環(huán)境探測(cè),并且還需要多個(gè)毫米波和超聲波雷達(dá)提供周圍物體的精度距離,包括角度和速度等信息需要輸入融合引擎,以支持高精度3D地圖的建立和控制動(dòng)作的準(zhǔn)確性,進(jìn)而確保行駛安全(圖2)。由此,可以看出吞吐和處理如此海量的傳感器數(shù)據(jù)(特別是攝像頭的圖像數(shù)據(jù))對(duì)自動(dòng)駕駛計(jì)算機(jī)的處理能力挑戰(zhàn)可謂空前。即使是現(xiàn)在最優(yōu)化的算法和硬件架構(gòu),系統(tǒng)不可避免的產(chǎn)生一定的延時(shí)?;谌塑嚢踩囊?,自動(dòng)駕駛系統(tǒng)響應(yīng)的延時(shí)要求是非常苛刻的。隨著高級(jí)自動(dòng)駕駛技術(shù)的發(fā)展,對(duì)自動(dòng)駕駛計(jì)算機(jī)的各種性能提出了極大的挑戰(zhàn),高性能的車載計(jì)算機(jī)技術(shù)也推動(dòng)了自動(dòng)駕駛汽車的發(fā)展。
圖2 智能駕駛汽車感知系統(tǒng)[3]
對(duì)于自動(dòng)駕駛系統(tǒng)主要有4個(gè)約束項(xiàng)目:
(1)計(jì)算機(jī)性能約束;
(2)可預(yù)測(cè)性延遲約束;
(3)散熱性能約束;
(4)電力功耗約束。
3.1.1 AD計(jì)算機(jī)性能約束
自動(dòng)駕駛計(jì)算機(jī)的性能主要體現(xiàn)在系統(tǒng)對(duì)實(shí)時(shí)路況的響應(yīng)速度上。系統(tǒng)必須能參與交通,比如對(duì)路上的標(biāo)牌、地標(biāo)和標(biāo)線的識(shí)別,對(duì)突發(fā)情況的處理,避讓行人、車輛或其他物體。以攝像頭為例,其響應(yīng)速度體現(xiàn)在每秒鐘輸入給計(jì)算機(jī)的幀率上。典型的駕駛員放開加速踏板要用960 ms,踩死剎車要用2.2 s,用方向盤避讓物體反應(yīng)平均在1.64 s[4],最快的專業(yè)賽車手在緊急狀況下的反應(yīng)也需要100 ms~150 ms以上[5]。所以自動(dòng)駕駛對(duì)攝像頭刷新率的最低需要是不能小于10幀/s。為了應(yīng)對(duì)不斷變化的交通環(huán)境,對(duì)每個(gè)相關(guān)幀從獲取到分析,再到?jīng)Q策控制,其總延時(shí)不能超過這個(gè)幀周期,這樣才能保障相鄰幀圖像的分割處理,同時(shí)不產(chǎn)生控制延遲或者決策覆蓋等問題。
基于以上可以做一個(gè)小計(jì)算,如果一個(gè)自動(dòng)駕駛系統(tǒng)有8個(gè)1 080×1 920分辨率的8 bit RGB攝像頭,每秒要10幀。系統(tǒng)共8個(gè)攝像頭,這個(gè)計(jì)算機(jī)需要1 080×1 920×3×8×10×8=3.8 Gb/s的數(shù)據(jù)吞吐和處理能力。這還不包括其他傳感器或更高的幀率要求的情況。
所以在響應(yīng)時(shí)間約束和處理數(shù)據(jù)數(shù)量級(jí)的要求下,選擇一個(gè)處理能力符合要求的硬件系統(tǒng)是實(shí)現(xiàn)自動(dòng)駕駛計(jì)算性能的關(guān)鍵之一。
3.1.2 可預(yù)測(cè)性延遲約束
在自動(dòng)駕駛各種數(shù)據(jù)處理和運(yùn)算中,機(jī)器視覺算法占用系統(tǒng)資源最大,而對(duì)周圍物體的識(shí)別DET、跟蹤TRA和自身定位LOC占用了車載計(jì)算機(jī)99.4%的算力[2]。在攝像頭捕獲連續(xù)幀圖像的同時(shí),計(jì)算機(jī)幾乎全力在做各種運(yùn)算處理。無論采用什么硬件平臺(tái)和串行還是并行架構(gòu),從一幀圖像輸入到執(zhí)行動(dòng)作,都會(huì)產(chǎn)生尾延遲。車輛周圍的環(huán)境、物體、氣候狀況是極為多樣和隨機(jī)的,所以評(píng)估一個(gè)系統(tǒng)的可預(yù)測(cè)性的處理延遲,可以定義為平均延遲和統(tǒng)計(jì)上的99.99%占比可能性的可測(cè)延遲兩個(gè)參數(shù)[2]。比如,一個(gè)系統(tǒng)執(zhí)行TRA算法時(shí),其平均延遲可能是50 ms,但是其99.99%占比時(shí),其延遲可能要到達(dá)近300 ms[2]。從上文定義的自動(dòng)駕駛汽車響應(yīng)速度來講,300 ms顯然高于100 ms的基本要求[2]。這就是對(duì)車載自動(dòng)駕駛計(jì)算機(jī)執(zhí)行一系列算法時(shí)的可預(yù)測(cè)性約束評(píng)估。
3.1.3 散熱性能約束
一般工業(yè)標(biāo)準(zhǔn)的電子元件額定工作環(huán)境溫度上限為85℃,而車載電子元件則要求到105℃[6]。因?yàn)榘l(fā)動(dòng)機(jī)艙的電控單元ECU需要忍耐這種極限環(huán)境。可是對(duì)于普遍的工業(yè)級(jí)計(jì)算機(jī)其工作環(huán)溫是不可超過75℃。這就意味著當(dāng)前無論那種自動(dòng)駕駛計(jì)算機(jī)平臺(tái)都只能設(shè)置在乘員艙,即車上環(huán)境溫度一般在60℃以內(nèi)。
同時(shí)因?yàn)榫薮蟮挠?jì)算量會(huì)使半導(dǎo)體處理器持續(xù)發(fā)熱,所以用散熱裝置為芯片降溫是非常必要的。通過導(dǎo)出芯片表面熱量,確保處理器內(nèi)部結(jié)溫在安全范圍可控。這樣才能保證自動(dòng)駕駛計(jì)算機(jī)的安全運(yùn)行,防止處理錯(cuò)誤,甚至系統(tǒng)崩潰導(dǎo)致的行車安全問題和事故。
散熱約束聚焦在這兩個(gè)方面,一是保證芯片工作的環(huán)境溫度,二是將大功率IC(如處理器、功率放大器等)降溫。當(dāng)前汽車上散熱設(shè)計(jì)是個(gè)非常重要而獨(dú)立的系統(tǒng),而自動(dòng)駕駛計(jì)算機(jī)多采用個(gè)體風(fēng)冷或中央水冷系統(tǒng)。
同時(shí),散熱也是需要電能和制造成本,而這又與下文所述的電力功耗約束產(chǎn)生了矛盾。在后續(xù)章節(jié),會(huì)討論不同硬件平臺(tái)的功耗,實(shí)例說明散熱方法。
3.1.4 電力功耗約束
對(duì)于汽油轎車,其發(fā)電機(jī)工作時(shí)典型功率消耗在1~2 kW[7]。如果增加一個(gè)400 W左右的自動(dòng)駕駛計(jì)算機(jī)負(fù)載,它每加侖汽油行駛里程會(huì)減少3.23%[8]。而對(duì)于執(zhí)行L4及以上自動(dòng)駕駛功能的插電式新能源汽車(PHEV),其自動(dòng)駕駛計(jì)算機(jī)也會(huì)使單次充電的行駛里程減少11.5%[2]。對(duì)于電動(dòng)車,續(xù)駛里程參數(shù)非常重要,是消費(fèi)者選擇電動(dòng)車品牌時(shí)的重要指標(biāo)。而不同結(jié)構(gòu)自動(dòng)駕駛平臺(tái)其功耗差異非常大,計(jì)算能力、散熱和功耗之間的平衡是未來硬件平臺(tái)協(xié)調(diào)發(fā)展的主題。
在對(duì)比不同自動(dòng)駕駛硬件方案之前,可以先簡(jiǎn)單討論一下當(dāng)前自動(dòng)駕駛的幾個(gè)重要算法。從軟件定義硬件的思路,反應(yīng)了要解決一個(gè)實(shí)際的應(yīng)用,首先要確定軟件架構(gòu),采用何種算法,然后基于特定算法,從性能和成本的角度設(shè)計(jì)出相對(duì)平衡的硬件執(zhí)行結(jié)構(gòu)和配置。
自動(dòng)駕駛技術(shù)是要實(shí)現(xiàn)一種端到端的控制系統(tǒng)。一端是從周圍環(huán)境獲取各種物理信息的傳感器,一端是根據(jù)系列運(yùn)算做出決策和動(dòng)作執(zhí)行的機(jī)構(gòu)。中間則是對(duì)各種傳感器數(shù)據(jù)進(jìn)行組織和融合,進(jìn)而重構(gòu)一個(gè)空間地圖,為決策和動(dòng)作提供依據(jù)。
自動(dòng)駕駛的主要任務(wù)包括對(duì)周圍物體探測(cè)(DET)、跟蹤(TR)、自身相對(duì)位置的定位(LOC)、以及3D地圖融合(Fusion)、動(dòng)作的規(guī)劃和任務(wù)的規(guī)劃。盡管近年來對(duì)其算法不斷優(yōu)化,但DET、TRA和LOC仍然占用整個(gè)系統(tǒng)85.9%~99.4%的計(jì)算資源。
其中DET和TRA可以采用最新的DNNs(Deep Neural Networks)算法,而特征提取(Feature Extraction,F(xiàn)E)算法則是LOC的基礎(chǔ)。其中DNNs算法在通用計(jì)算機(jī)上有非常大的延遲,比如DET的性能約束要求延遲不能大于100 ms[2],但是通過特定測(cè)試,傳統(tǒng)多核計(jì)算機(jī)還是要消耗7 734 ms。即便是相對(duì)接近約束條件的LOC FE算法也高出最低標(biāo)準(zhǔn)近200 ms,在294 ms以上[2]。這可以看出多核通用CPU是無法支撐商用的自動(dòng)駕駛方案的。究其原因,是因?yàn)閭鹘y(tǒng)計(jì)算機(jī)都是基于單線程任務(wù)的,即使采用多核CPU,也僅是×2、×4、×8之類的倍增。但深度學(xué)習(xí)需要計(jì)算處理模型偏向于多層網(wǎng)絡(luò)陣列結(jié)構(gòu),是對(duì)大規(guī)模的并行結(jié)構(gòu)的需求。這是傳統(tǒng)CPU,包括X86、RISC結(jié)構(gòu)無法適應(yīng)的。就像人們要玩高渲染要求的3D游戲一樣,需要通過加一塊高性能的顯卡一樣,最好的解決方案就是給自動(dòng)駕駛計(jì)算機(jī)也加一塊有強(qiáng)大并行處理能力的加速器,即采用CPU+加速器(Accelerator)的硬件結(jié)構(gòu)。
同時(shí)從配置的角度,主要是從采用單核CPU轉(zhuǎn)向采用多核CPU。還有CPU能提供的最大工作時(shí)鐘或運(yùn)算速率需要加強(qiáng)。加速器采用的方案也很重要,目前FPGA方案還是基于嵌入式SoC的內(nèi)嵌硬核IP加速器。同時(shí)還要根據(jù)軟件的要求來評(píng)估內(nèi)存的容量和速度等參數(shù)。
當(dāng)今有三種主流的“自動(dòng)駕駛”或是說“深度學(xué)習(xí)”硬件加速器的方案和它們的實(shí)現(xiàn)方法,即GPU圖形加速器、FPGA可編程邏輯門陣列和專用的深度學(xué)習(xí)“神經(jīng)網(wǎng)”絡(luò)嵌入式ASIC加速器,他們都在并行處理方面有自己的獨(dú)特的技術(shù)訣竅。
既然是加速器,它們是執(zhí)行專有的算法,極大的提高系統(tǒng)在處理感知、跟蹤和定位等運(yùn)算的速度,進(jìn)而達(dá)到自動(dòng)駕駛苛刻的性能約束要求。從CPU分類角度,既有支持MIPS+Accelerator的廠商,如Intel的Mobileye EyeQx,也有ARM+Accelerator的廠商高通最新的8195系列(2018年),還有Intel的Xeon+FPGA Accelerator的自動(dòng)駕駛解決方案。當(dāng)然Tesla Model3的Auto-pilot 2.5采用的是Nvidia DRIVE PX2的自動(dòng)駕駛平臺(tái)的定制版本,即Parker CPU+Pascal GPU,它屬于ARM+Accelerator的范疇。Tesla的Auto-pilot 2.5從功能上屬于L2到L3的過度產(chǎn)品,是增強(qiáng)版的ADAS高級(jí)自動(dòng)駕駛輔助系統(tǒng),由于在任何情況下,駕駛員的雙手不能離開方向盤,所以不能算是自動(dòng)駕駛的范圍。表1是全球最新的自動(dòng)駕駛加速器方案。
表1 全球最新的自動(dòng)駕駛加速器方案
從表1可以看出,從加速器的角度,可以分為基于CPU+GPU專用圖形加速器的自動(dòng)駕駛平臺(tái)、CPU+FPGA現(xiàn)場(chǎng)可編程邏輯門陣列的加速器的自動(dòng)駕駛平臺(tái)和基于ASIC化的NPU神經(jīng)網(wǎng)絡(luò)處理器的多核處理器的SoC自動(dòng)駕駛硬件平臺(tái)。
對(duì)應(yīng)不同的硬件平臺(tái),其處理探測(cè)(DET)、跟蹤(TRA)和定位(LOC)的算法庫也不同,如表2所示。
表2 加速器平臺(tái)算法庫[2]
針對(duì)DET和TRA算法,雖然說FPGA和ASIC的邏輯都采用硬件化的深度神經(jīng)網(wǎng)絡(luò)單元,但是其電路的實(shí)現(xiàn)方法是不同的。定制化的ASIC采用的多個(gè)DNNs固化的電路,而FPGA是采用可重復(fù)配置的內(nèi)部邏輯DNN IP核。而GPU作為通用的圖形處理器,其應(yīng)用首先要基于有由GPU廠商提供的算法庫或基于原廠庫的第三方程序。從開發(fā)者的角度來說,GPU自動(dòng)駕駛平臺(tái)的主要工作重心是應(yīng)用的開發(fā)與機(jī)器學(xué)習(xí)的樣本庫的積累。如果原廠,如Nvidia,能提供大量成熟的樣本庫,甚至直接導(dǎo)入大量的成熟的樣本庫,其平臺(tái)的成熟度和開發(fā)周期短的優(yōu)勢(shì)就非常明顯。這就是在特斯拉Model系列車型中已經(jīng)大量采用GPU的Auto-pilot 2.5的原因。雖然距離L3的自動(dòng)駕駛還有半代,但是已經(jīng)是大量出貨的落地產(chǎn)品,而且在客戶的實(shí)際路上行駛過程中,其樣本庫會(huì)進(jìn)一步擴(kuò)充和完善。但是GPU有一個(gè)致命的弱點(diǎn),就是為了實(shí)現(xiàn)L3級(jí)的應(yīng)用中其功耗極大,高至200~300 W以上。如果加之為給GPU降溫的風(fēng)扇或水冷設(shè)備的功耗,單就油耗或電動(dòng)車的行駛里程也是一個(gè)巨大的挑戰(zhàn)。同時(shí),GPU平臺(tái)的整車成本也非常高,例如,Tesla從Auto-pilot 2升級(jí)到Auto-pilot 2.5,為了滿足GPU的散熱要求,將低成本的風(fēng)冷器升級(jí)成水冷系統(tǒng)。雖然說自動(dòng)駕駛模塊僅是其整車水冷系統(tǒng)的一個(gè)節(jié)點(diǎn)。但是為了滿足這個(gè)要求就,就要升級(jí)這車的冷卻系統(tǒng),其成本壓力可謂不小。
FPGA和ASIC從內(nèi)部電路角度,都是實(shí)現(xiàn)某種專用功能的組合或者時(shí)序邏輯的硬件電路。ASIC是為了實(shí)現(xiàn)這個(gè)邏輯而定制化的半導(dǎo)體電路,它是專用且高效的設(shè)計(jì)。而FPGA是由數(shù)量巨大的LUT(查表)小邏輯單和DSP構(gòu)成的陣列網(wǎng)絡(luò)。從邏輯實(shí)現(xiàn)的效率來講,ASIC更高,從功耗上說,F(xiàn)PGA內(nèi)部邏輯是類似RAM動(dòng)態(tài)存儲(chǔ)器結(jié)構(gòu),需要保持上電,加上邏輯效率相對(duì)低,占用的電路資源和消耗的電流更多。這樣在功耗和散熱方面FPGA比ASIC要求更多。但是即使這樣,F(xiàn)PGA和ASIC的熱功耗也遠(yuǎn)低于GPU。甚至Mobileye的eyeQ5號(hào)稱可以在10 W的功耗下實(shí)現(xiàn)L4級(jí)自動(dòng)駕駛。但是Mobileye現(xiàn)在只做到L2~L3的商用化應(yīng)用[9]。
當(dāng)前在自動(dòng)駕駛業(yè)內(nèi),沒有一種硬件架構(gòu)和深度學(xué)習(xí)算法被認(rèn)為是最優(yōu)的,還有很多沒有解決的問題。這樣FPGA的可重復(fù)配置,邏輯設(shè)計(jì)非常靈活的優(yōu)勢(shì)就有了一定的窗口期。而且多傳感器融合,需要一種能提供靈活接口的計(jì)算機(jī)結(jié)構(gòu),這些都是ASIC在短期內(nèi)阻礙其大規(guī)模的投入量產(chǎn)和芯片迭代的原因。所以,從商業(yè)化角度,自動(dòng)駕駛平臺(tái)的ASIC化是目標(biāo),而GPU和FPGA因?yàn)楦鞣N局限,在不久的將來會(huì)最終會(huì)讓渡于ASIC。同時(shí)FPGA有助在現(xiàn)階段測(cè)試和驗(yàn)證各種算法和結(jié)構(gòu),為最終自動(dòng)駕駛平臺(tái)的ASIC化提供非常有力的積累,在L3以上的自動(dòng)駕駛應(yīng)用上有一定的空間和需要。
當(dāng)前全球有4套3種不同方案的L2~L3自動(dòng)駕駛計(jì)算機(jī)平臺(tái)技術(shù)應(yīng)用,具體說明各自的硬件架構(gòu)特點(diǎn)和外圍傳感器配置。
(1)Tesla的Auto-pilot 2.5 GPU加速器方案;
(2)Xilinx的ZNYQ ultrascale+FPGA加速器方案;
(3)Qualcomm 的 8195和 Mobileye EyeQ4 ASIC SoC平臺(tái)。
Tesla采用了Auto-pilot 2.5 GPU加速器方案,Auto-pilot 2.5車載計(jì)算機(jī)是Model系列車型中的ADAS/AD自動(dòng)駕駛的核心部件。它是繼2016年10月推出Auto-pilot 2.0車載超級(jí)計(jì)算機(jī)后,應(yīng)用深度學(xué)習(xí)和高級(jí)輔助駕駛功能的最新升級(jí)版本。因?yàn)樘厮估亲钤鐚2~L3的高級(jí)輔助駕駛作為標(biāo)準(zhǔn)配置的整車廠,作為商用化產(chǎn)品,其采用了當(dāng)時(shí)能力和成熟度最高的Nvidia英偉達(dá)CPU+GPU方案。Auto-pilot 2.5對(duì)外圍傳感器特別是攝像頭的數(shù)量進(jìn)行了縮減,同時(shí)雙GPU方案的功耗和散熱對(duì)于純電汽車也是增加了負(fù)荷。同時(shí),Auto-pilot 2.5也分兩個(gè)版本,針對(duì)Model X和Model S采用的風(fēng)冷散熱系統(tǒng),而Model 3采用水冷方式,這極大的提高了Auto-pilot的可靠性,但是整車成本壓力相應(yīng)增加。
Auto-pilot有8個(gè)環(huán)視攝像頭和一個(gè)車內(nèi)監(jiān)視攝像頭,詳見表3和圖3(根據(jù)逆向工程整理)。
表3 Auto-pilot 2.5自動(dòng)駕駛系統(tǒng)配置
這8個(gè)攝像頭構(gòu)成了360度無死角的環(huán)視圖像采集。車內(nèi)的攝像頭主要是監(jiān)視駕駛員防止疲勞駕駛等突發(fā)情況。
圖3 Auto pilot 2.5自動(dòng)駕駛系統(tǒng)架構(gòu)
首先,Parker CPU A單元和GPU構(gòu)成了深度學(xué)習(xí)基本模組。行駛過程中,8個(gè)攝像頭圖像流,通過2個(gè)HUB多端口轉(zhuǎn)發(fā)器輸入給了Parker A。作為媒體處理器,Parker A可以將CSI接口標(biāo)準(zhǔn)的圖像數(shù)據(jù)進(jìn)行轉(zhuǎn)碼生成位圖流,通過PCIe高速接口傳遞給AI芯片(GPU),進(jìn)行DET識(shí)別、TRA跟蹤、LOC定位和FRUZE融合等算法計(jì)算。而各種專業(yè)應(yīng)用及導(dǎo)航路徑規(guī)劃等程序則在Parker B的CPU上運(yùn)行。Parker A和Parker B兩個(gè)CPU的分工可以從其外圍模組的功能得到佐證。比如GPS模塊接到了Parker B上,說明其需要執(zhí)行較高層級(jí)的任務(wù)應(yīng)用,如路徑規(guī)劃導(dǎo)航。而如警報(bào)和提示音的音頻編解碼器也連接在Parker B上,說明人機(jī)交互應(yīng)用會(huì)在這顆處理器上執(zhí)行。對(duì)于Parker A它更多是為GPU提供數(shù)據(jù)預(yù)處理功能,GPU專注于深度學(xué)習(xí)算法,作為加速器它不直接提供類似攝像頭之類的多媒體接口。所以從架構(gòu)上看Parker A+GPU更多執(zhí)行Accelerator(加速器)之功能,而Parker B則執(zhí)行上位機(jī)的任務(wù)。
于此同時(shí)車輛行駛的控制命令需要透過車載微控制器通過CAN總線發(fā)給執(zhí)行控制器,如動(dòng)力電機(jī)、轉(zhuǎn)向控制器和制動(dòng)控制器等。
Xilinx采用了ZNYQ ultrascale+FPGA加速器方案。
雖然GPU作為深度學(xué)習(xí)加速器在ADAS和L3級(jí)自動(dòng)駕駛系統(tǒng)市場(chǎng)上已經(jīng)暫露頭角,也被一些大的廠商采用,但是其200~300 W的功耗和苛刻的散熱要求,一直被自動(dòng)駕駛業(yè)界所詬病。隨著L3以上的自動(dòng)駕駛平臺(tái)需求與日俱增,GPU的算力和功耗之間的矛盾越來越突出。預(yù)計(jì)特斯拉在其下一代自動(dòng)駕駛平臺(tái)將會(huì)采用其專為自己設(shè)計(jì)的專用車載計(jì)算機(jī)處理器。但是其實(shí)一直以來,另一位有力的競(jìng)爭(zhēng)者從未停止對(duì)自動(dòng)駕駛領(lǐng)域的窺探。它就是有在應(yīng)用上極為靈活的可編程邏輯器件中的FPGA現(xiàn)場(chǎng)可編程邏輯門陣列。FPGA設(shè)計(jì)的靈活性在自動(dòng)駕駛和深度學(xué)習(xí)領(lǐng)域有一定的優(yōu)勢(shì)。
第一:當(dāng)前的深度學(xué)習(xí)都是基于DNN深度神經(jīng)網(wǎng)絡(luò)或CNN卷積神經(jīng)網(wǎng)絡(luò),它對(duì)矩陣化的并行計(jì)算有非常高的要求,F(xiàn)PGA硬件化的并行結(jié)構(gòu)優(yōu)勢(shì)明顯。
第二:當(dāng)前深度學(xué)習(xí)的算法的優(yōu)化和迭代非常頻繁,如果不是基于軟件的平臺(tái),就需要硬件有可重構(gòu)或靈活配置的能力,F(xiàn)PGA恰好以此為基本特性。
第三:由于所有的邏輯是并行處理的,不同于CPU需要提高其時(shí)鐘頻率提高運(yùn)算能力,所以其功耗較GPU大大降低,在幾十瓦的水平。
第四:其豐富IO和內(nèi)部IP資源,可以靈活的集成各種傳感器物理接口和大帶寬總線。實(shí)現(xiàn)分布式處理器的互聯(lián)。
圖4就是基于Xilinx最新的FPGA Zynq-ultrascale+的自動(dòng)駕駛計(jì)算機(jī)方案。
圖4 最新的FPGA Zynq-ultrascale+的自動(dòng)駕駛系統(tǒng)構(gòu)架[10]
如圖4所示,雖然3個(gè)前向攝像頭(遠(yuǎn)、中、近)布置給AD自動(dòng)駕駛計(jì)算提供輸入,而360環(huán)視6個(gè)攝像頭布置用于ADAS計(jì)算輸入。但是融合(Fusion)算法是在一個(gè)FPGA中實(shí)現(xiàn)的,ADAS環(huán)視攝像頭可以將物體動(dòng)態(tài)特征通過AXI總線轉(zhuǎn)遞給AD域FPGA,并進(jìn)行3D地圖的建立。如果FPGA的內(nèi)部資源允許,這6個(gè)攝像頭也可配置在FPGA上。而SoC+PFGA架構(gòu)中的SoC已經(jīng)集成在FPGA芯片里。這也是FPGA行業(yè)的一個(gè)趨勢(shì),為了縮短開發(fā)產(chǎn)品周期,將嵌入式系統(tǒng)和FPGA的可編程邏輯網(wǎng)格結(jié)合。FPGA的邏輯作為整個(gè)系統(tǒng)的一個(gè)組件,在操作系統(tǒng)的統(tǒng)籌下執(zhí)行特定的工作。對(duì)于L3以上的自動(dòng)駕駛方案,除了攝像頭之類的圖像傳感器,77/79G毫米波雷達(dá)、超聲波雷達(dá)、甚至激光雷達(dá)都需要豐富的接口,F(xiàn)PGA廠商一般會(huì)直接提供如CAN、LIN或以太網(wǎng)等接口的硬核IP或軟核IP。從散熱角度,風(fēng)冷系統(tǒng)完全可以保證其工作安全的結(jié)溫要求。
但是FPGA某些性能在自動(dòng)駕駛領(lǐng)域廣泛的應(yīng)用中仍有不足,需要持續(xù)改進(jìn)。從行業(yè)來說FPGA的開發(fā)專業(yè)性更高,需要專業(yè)使用Verlog HDL或VHDL硬件描述語言進(jìn)行系統(tǒng)集成,即使很多基于FPGA的深度學(xué)習(xí)算法都是由第三方提供的。還有不同于GPU的深度學(xué)習(xí)算法庫都是由廠商提供,基于GPU的自動(dòng)駕駛功能實(shí)現(xiàn)主要集中在應(yīng)用層軟件開發(fā),F(xiàn)PGA的底層代碼開發(fā)量非常大,需要很長(zhǎng)期的積累,門檻較高。
Qualcomm開發(fā)了8195和Mobileye開發(fā)的EyeQ4 ASIC SoC平臺(tái)。CPU+GPU、CPU+FPGA和嵌入式的ASIC自動(dòng)駕駛平臺(tái)是一種異構(gòu)計(jì)算機(jī),就是將某一部分的特定任務(wù)放在專用的子處理器上,加速器其執(zhí)行運(yùn)算,這樣來最大限度的提高計(jì)算機(jī)的整體性能和效率。Qualcomm的8195和Mobileye EyeQ4都是在內(nèi)嵌深度學(xué)習(xí)處理器的嵌入式SoC平臺(tái)基礎(chǔ)上開發(fā)的,從內(nèi)部結(jié)構(gòu)來說并沒有太大的差異。不同于FPGA和GPU+CPU這種異構(gòu)計(jì)算機(jī),嵌入式的有非常高效的內(nèi)部總線,將CPU、內(nèi)存和深度學(xué)習(xí)處理器鏈接起來。而CPU和FPGA通過復(fù)雜的外部總線與CPU進(jìn)行對(duì)傳,而且還不能與CPU共享內(nèi)存,系統(tǒng)的復(fù)雜性和成本都更高。
同時(shí)GPU和FPGA都是通用器件,并不是專為深度學(xué)習(xí)來設(shè)計(jì)的,其運(yùn)行效率比ASIC低很多,為了實(shí)現(xiàn)相同的任務(wù),以上兩種加速器的系統(tǒng)時(shí)鐘頻率也遠(yuǎn)高于AISC的專用處理器,自然功耗和發(fā)熱也就高一個(gè)數(shù)量級(jí)。從官方獲取的信息EyeQ4的滿載功率在5 W以內(nèi),支持L3級(jí)的自動(dòng)駕駛。
圖5和圖6展示的分別是Qualcomm的8195車載計(jì)算機(jī)和Intel的Mobileye EyeQ4自動(dòng)駕駛計(jì)算機(jī)處理器的系統(tǒng)構(gòu)架。
圖5 Qualcomm 8195車載計(jì)算機(jī)系統(tǒng)構(gòu)架[11]
圖6 Intel的Mobileye EyeQ4自動(dòng)駕駛計(jì)算機(jī)系統(tǒng)構(gòu)架[12]
從圖5可以看出8195采用的是8核的ARMv8 CPU和一個(gè)NPU神經(jīng)網(wǎng)絡(luò)處理器,而EyeQ4采用的是4核MIPS CPU和6核的相量微碼處理器VMP負(fù)責(zé)深度學(xué)習(xí)。
從圖5~6我們還可以看出2種計(jì)算機(jī)都提供了豐富的外設(shè)接口,支持8路以上的環(huán)視攝像頭Camera接口,毫米波雷達(dá)CAN接口和LIDAR激光雷達(dá)100 M以太網(wǎng)接口等。但是考慮到探測(cè)、跟蹤和定位都需要占用深度學(xué)習(xí)處理器,CPU的對(duì)NPU或VMP的管理有特殊的要求,也限制了當(dāng)前SoC自動(dòng)駕駛計(jì)算機(jī)的能力。
表4是多種加速器架構(gòu)的自動(dòng)駕駛計(jì)算機(jī)性能,其中有最為搶眼的是Tesla近日發(fā)布的FSD自動(dòng)駕駛平臺(tái),其最高到144 TOPs性能可支持L4+自動(dòng)駕駛功能。相比GPU加速器方案的Xavier的250 W功耗,F(xiàn)SD在100 W以內(nèi)的功耗優(yōu)勢(shì)明顯。從單位功率算力角度,ASIC方案普遍較GPU和FPGA有較大優(yōu)勢(shì)。
表4 加速器架構(gòu)的自動(dòng)駕駛計(jì)算機(jī)性能
隨著自動(dòng)駕駛汽車技術(shù)的繁榮發(fā)展,對(duì)自動(dòng)駕駛計(jì)算機(jī)會(huì)提出了更高、更苛刻的要求,包括更高計(jì)算速度的優(yōu)異性能、更低的能耗、更苛刻的應(yīng)用環(huán)境和更低的成本。同時(shí),隨著計(jì)算機(jī)的發(fā)展,自動(dòng)駕駛計(jì)算機(jī)的競(jìng)爭(zhēng)將大力推進(jìn)自動(dòng)駕駛汽車的發(fā)展,按照全球主機(jī)廠的日程實(shí)現(xiàn)L4~L5級(jí)自動(dòng)駕駛。因?yàn)镚PU開發(fā)更快,F(xiàn)PGA結(jié)構(gòu)更靈活,ASIC成本功耗效益最高。但是隨著深度學(xué)習(xí)硬件的持續(xù)發(fā)展,在可預(yù)見的未來ASIC將占領(lǐng)L4~L5級(jí)自動(dòng)駕駛計(jì)算機(jī)市場(chǎng)的較大份額,隨著全球自動(dòng)駕駛技術(shù)競(jìng)爭(zhēng)的加劇,汽車強(qiáng)國(guó)將在這一領(lǐng)域處于領(lǐng)先地位,這將大力促進(jìn)相關(guān)半導(dǎo)體廠商的研發(fā)和投產(chǎn)速度。從商用化的角度,自動(dòng)駕駛計(jì)算機(jī)會(huì)做的更便宜和功耗更低,從而全面促進(jìn)自動(dòng)駕駛汽車和智慧移動(dòng)出行社會(huì)的實(shí)現(xiàn)。
這里還要考慮一個(gè)非常重要的背景,就是車聯(lián)網(wǎng)和5G的全面覆蓋,因?yàn)樾碌纳虡I(yè)模式,特別是共享汽車和多種個(gè)性化的云服務(wù)才是自動(dòng)駕駛和智慧移動(dòng)出行生態(tài)的最大亮點(diǎn)和推動(dòng)力量。在此之前的幾年里,GPU、FPGA這樣的硬件加速器方案還會(huì)繼續(xù)存在,其技術(shù)路線還會(huì)在不同的整車和科技公司向前延展。但是殊途同歸,最終的ASIC化的自動(dòng)駕駛方案一定會(huì)融合了前輩的優(yōu)勢(shì)和技術(shù)積累,并在商用化之路上走到最后。
未來,人類駕駛員這個(gè)角色將會(huì)成為歷史,就像伴隨1886年第一輛汽車的誕生、第一位駕駛員的出現(xiàn)一樣,具有人工智能的自主駕駛計(jì)算機(jī)會(huì)在不久的未來逐步取代人類駕駛員,機(jī)器駕駛員的時(shí)代一定會(huì)到來,人們可以期待未來人類社會(huì)的移動(dòng)出行會(huì)出現(xiàn)翻天覆地的變化。